//双指针法
//直接用count统计窗口内的0的个数。当窗口内0的个数大于K时,我们需要缩小窗口;当窗口内0的个数小于等于k时,我们就可将窗口大小来与result来进行比较来确定是否更新result了。
注:窗口内0的个数就是表示可以被1替换的个数!
作者:xiaoneng
链接:https://leetcode-cn.com/problems/max-consecutive-ones-iii/solution/hua-dong-chuang-kou-de-chang-gui-jie-fa-by-xiaonen/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
class Solution {
public:
int longestOnes(vector<int>& A, int K) {
int left=0,right=0,count=0,result=0;
while(right<A.size())
{
if(A[right]==0)
{
count+=1;
}
if(count>K)
{
count-=A[left]==0;
left+=1;
}
result=max(result,right-left+1);
right+=1;
}
return result;
}
};