【1004. 最大连续1的个数 III】
Leetcode算法练习 笔记记录
- 1004. 最大连续1的个数 III
1004. 最大连续1的个数 III
这题主要是要想到怎么让已经用掉的k重新还回去,这里如果k没有还回去就让left++是为了收缩到可以重新利用k,所以遇到left扫到的0说明用过了就还回去。
public static int longestOnes(int[] nums, int k) {int n = nums.length;int left = 0;int max = Integer.MIN_VALUE;for (int right = 0; right < n; right++) {//如果遇到0,则k-1,相当于反转if (nums[right] == 0){k--;}while (k<0){if (nums[left] == 0) {k++;}left++;}max=Math.max(max,right-left+1);}return max;}