23 lines
819 B
Markdown
23 lines
819 B
Markdown
Leetcode #1004 | #Medium | [Скользящее окно](../../Методы/Скользящее%20окно.md)
|
||
## Идея
|
||
Скользящее окно с счетчиком нулей, дополнение к [Max Consecutive Ones II](Max%20Consecutive%20Ones%20II.md), только теперь условие zeroCount>k а не >1
|
||
## Big-O
|
||
- Время ```O(N)```
|
||
- Память ```O(1)```
|
||
## Код
|
||
```Java
|
||
class Solution {
|
||
public int longestOnes(int[] nums, int k) {
|
||
int l = 0, zeroCount = 0, res = 0;
|
||
for (int r = 0; r < nums.length; r++) {
|
||
if (nums[r] == 0) zeroCount++;
|
||
while (zeroCount > k) {
|
||
if (nums[l] == 0) zeroCount--;
|
||
l++;
|
||
}
|
||
res = Math.max(res, r - l + 1);
|
||
}
|
||
return res;
|
||
}
|
||
}
|
||
``` |