尺取:如果 nums[r] == 0,如果想要假如这个入答案,那么就需要 --k,如果 k < 0,就只能收缩 l.
class Solution { public: int longestOnes(vector<int>& nums, int k) { int ret = 0, l = 0; for(int r = 0; r < nums.size(); ++ r) { if(nums[r] == 0) -- k; while(l <= r && k < 0) { if(nums[l] == 0) ++ k; ++ l; } ret = max(ret, r - l + 1); } return ret; } };