1004、最大连续1的个数 III
题目:
解答:
统计窗口内zero的数量,如果超过k则左指针右移直到满足zero<k,每个right满足条件后更新ans
class Solution {
public:int longestOnes(vector<int>& nums, int k) {int len = nums.size();int left=0,right=0;int ans = 0;int zero = 0;for(right;right<len;right++){if(nums[right]==0){zero++;}if(zero>k){left++;while(nums[left-1]==1)left++;zero--;}ans = max(ans,right-left+1);}return ans;}
};
时间复杂度O(n)
空间复杂度O(1)