C++ 代码(滑动窗口思想)
class Solution
{
public:
int longestOnes(vector<int>& nums, int k)
{
int ret = 0, zero = 0;
for(int left = 0, right = 0; right < nums.size(); right++)
{
if(nums[right] == 0) zero++;//进窗口
while(zero > k)//判断
if(nums[left++] == 0) zero--;//出窗口
ret = max(ret,right - left + 1);//更新结果
}
return ret;
}
};