- 博客(6)
- 收藏
- 关注
原创 剑指Offer——连续子数组的最大和
思路: 从第一个元素开始累加,每次累加都判断并更新当前的最大值; 当累加结果小于零时,置零,将数组完整遍历一次即可得到最大和。 class Solution: def FindGreatestSumOfSubArray(self, array): # write code here sm = 0 mx = array[0] ...
2018-08-06 17:23:00
187
原创 Leetcode 234. 回文链表
思路: 题目要求算法时间复杂度为O(n),空间复杂度O(1),采用列表存储节点值的方法不满足要求,因此提出反转链表前一半,与后一半比较的方法。 a,b一快一慢两个指针,可以很容易得到链表中间节点的位置(奇偶情况略有不同,因此用一个变量计数链表长度);并且在慢指针a遍历列表的同时将前一半链表进行翻转,然后比较反转后的链表与前一半链表是否相同 获取链表长度是为了判别后一半链表开始的起始位置,若为...
2018-08-03 16:10:38
217
原创 Leetcode 558. Quad Tree Intersection
思路: 计算1和2两个节点的运算结果,分两种情况: (1)1为叶节点:若1的节点值为False,返回节点2;否则返回节点1 (2)1不为叶节点: A. 若2为叶节点且节点值为False,返回节点1;否则返回节点2 B. 若2不为叶节点,迭代计算1和2的四个子节点的结果,分别赋值给节点1的四个节点 这里需要注意,子节点...
2018-08-03 14:43:31
847
原创 替换空格python实现
替换空格——剑指offer经典面试题题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码实现def replaceSpace(s): # write code here sr = '' for t in s: if t == ' ': ...
2018-06-26 14:44:09
1191
原创 二维数组查找python实现
二维数组查找——剑指offer经典面试题题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组array[m][n]和一个整数k,判断数组中是否含有该整数。解题思路比较最右边一列第一个元素array[max][0]与目标数字k大小,存在以下三种情况:(1) array[max][0]=k 查找到目标数字,返回T...
2018-06-26 14:24:33
444
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅