这是一个经典的窗口滑动问题,尺取法
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int
* @param m int
* @param a intvector
* @return int
*/
int solve(int n, int m, vector<int>&a) {
int ans = 0, cnt = 0;
int l = 0, r = 0;
while (r < n) {
if (a[r] == 0)
cnt++;
while (cnt > m) {
if (a[l] == 0)
cnt--;
l++;
}
ans = max(ans, r - l + 1);
r++;
}
return ans;
}
};