Day60 | 灵神 | 滑动窗口:最大连续1的个数III
Day60 | 灵神 | 滑动窗口:最大连续1的个数III
1004.最大连续1的个数III
1004. 最大连续1的个数 III - 力扣(LeetCode)
思路:
和前两天核心思路一样,还是固定右端点,遍历右端点,然后去找左指针往右收缩的条件。
而这个条件一般和题目条件相关。
在本题中就是要找最多翻转k个0后,数组中连续1的个数,换句话说,我们左右区间[l,r]内最多只能包含k个0,超过了就无法翻转,无法翻转就无法保证全是连续的1,。我们只需要记录碰到0的次数,只要碰到0,那么记录0的变量num_zero就++,只要碰到0的次数超过了k,那说明我们现在翻转不了这么多的0,所以我们这时候就可以移动左指针,直到我们的左右区间[l,r]内0的数量小于等于k停止。
完整代码:
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Darlingの妙妙屋!
评论