最大连续1的个数Ⅲ
使用双指针每次当0的个数达到k,开始反转,返回最大。
class Solution {public int longestOnes(int[] nums, int k) {int ans=-1;for(int i=0,j=0,cnt=0;i< nums.length;i++){if(nums[i]==0)cnt++;while(cnt>k){if(nums[j]==0)cnt--;j++;}ans=Math.max(ans,i-j+1);}return ans;}
}
总结:双指针很常用,不能忘记~