LeetCode 487. 最大连续1的个数 II
题目描述
给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。
示例 1:
输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2
输出:6
解释:[1,1,1,0,0,1,1,1,1,1,1]
粗体数字从 0 翻转到 1,最长的子数组长度为 6。
LeetCode 487. 最大连续1的个数 II
提示:
一、解题关键词
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int res= 0,count = 0;
int len = nums.length;
for(int l = 0,r = 0; r< len;r++){
if(nums[r] == 0){
count++;
while(count > 1){
count -= nums[l++] == 0 ? 1 : 0;
}
}
res = Math.max(res,r- l + 1);
}
return res;
}
}
2.知识点
双指针 左右坐标的移动
总结
相同题目
1004. 最大连续1的个数 III