雙指針滑動窗口
先走j再走i
class Solution {
public:
int longestSubarray(vector<int>& nums) {
int k = 0 ,res = 0;
for(int i=0,j=0;j<nums.size();j++){
if(nums[j]==1) k++;
while(i<=j&&j-i-k>0){
if(nums[i]==1) k--;
i++;
}
res = max(res,j-i+1);
}
return res-1;
}
};