leetcode刷题
絔殇
这个作者很懒,什么都没留下…
展开
-
485. 最大连续1的个数
题目给定一个二进制数组, 计算其中最大连续1的个数。只包含0和1常规思路一般想到的是都是遍历数组,用一个变量记录当前连续1的个数,另一个变量记录最大的长度,每当出现0就比较这两个变量直到最后完成。但是这个题目我们可以用滑窗法来做滑窗法滑动窗口法,可以用来解决一些查找满足一定条件的连续区间的性质等的问题,由于区间连续,因此当区间变化时,可以通过旧有的计算结果对搜索控件进行剪枝,这样就减少了重复计算,降低了时间复杂度将两个指针范围内的比作一个窗口,通过移动指针来改变窗口大小,观察窗口中原创 2020-07-21 14:12:16 · 133 阅读 · 0 评论 -
两数相加
解题思路首先定义ans节点保存ls节点,应为ls在后面会移动,所以先要保存它的位置然后定义p变量来保存l1和l2两个节点值的进位,初始化为0然后在l1和l2两个节点至少有一个不为空的时候进行循环定义变量a,使用三目运算,当l1为空时a为0,不为空时则为l1.val变量b同理然后x是a+b+p(上一节点来的进位),如果x超过10了,我们应该将它减十,设置进位为1,用于下一节点然后是创建k节点,加在ls的后面,然后ls向后移动,指向k节点然后是l1不为空时,才指向下一个节点,我之前一直思考为l1原创 2020-07-19 11:13:31 · 212 阅读 · 1 评论