题目链接:https://leetcode-cn.com/problems/max-consecutive-ones-iii/
与LeetCode424思路一致:Leetcode 424. 替换后的最长重复字符 题解
代码如下:
class Solution {
public:
int longestOnes(vector<int>& A, int K) {
int l = 0, r = 0;
int mxcnt = 0, cnt1 = 0;
while(r < A.size()) {
if(A[r++] == 1) {
cnt1++;
}
mxcnt = max(cnt1, mxcnt);
while(mxcnt + K < r - l) {
if(A[l++] == 1) {
cnt1--;
}
}
}
return r - l;
}
};