1004. 最大连续1的个数 III
如题:
给定一个由若干
0
和1
组成的数组A
,我们最多可以将K
个值从0
变成1
。
返回仅包含1
的最长(连续)子数组的长度。
滑动窗口
class Solution {
public:
int longestOnes(vector<int>& A, int K) {
int count = 0;
int left = 0;
int right = 0;
int res;
while (right < A.size())
{
if (A[right] == 1)
{
count++;
}
if (count + K <= right - left)
{
if (A[left] == 1) count--;
left++;
}
right++;
res = max(res, right - left);
}
return res;
}
};