力扣1493.删掉一个元素以后全为1
-
单调队列:找到一个最多1个0的子数组 最终结果为该子数组长度-1
- 特判如果数组全0,return 0
-
class Solution {public:int longestSubarray(vector<int>& nums) {int res=0,sum=0;for(int i=0,j=0;i<nums.size();i++){if(nums[i] == 0) sum ++;while (sum > 1)if(nums[j++] == 0) sum --;res = max(res,i-j+1);}if(res == 0) return 0;else return res-1;}};