1public int longestOnes(int[] nums, int k) {
2 int maxLen = 0;
3 int left = 0;
4 int zerosCount = 0;
5
6 for (int right = 0; right < nums.length; right++) {
7 if (nums[right] == 0) {
8 zerosCount++;
9 }
10
11 while (zerosCount > k) {
12 if (nums[left] == 0) {
13 zerosCount--;
14 }
15 left++;
16 }
17
18 maxLen = Math.max(maxLen, right - left + 1);
19 }
20
21 return maxLen;
22}