class Solution {
public:
int longestSubarray(vector<int>& nums) {
int len=nums.size();
int left=0,right=0,cnt0=0;
while(right<len){
if(nums[right]==0){
cnt0++;
}
++right;
if(cnt0>1){
if(nums[left]==0){
cnt0--;
}
left++;
}
}
return right-left-1;
}
};