23 lines
738 B
Markdown
23 lines
738 B
Markdown
Leetcode #1004 | #Medium | [[Скользящее окно]]
|
||
## Идея
|
||
Скользящее окно с счетчиком нулей, дополнение к [[Max Consecutive Ones II]], только теперь условие 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;
|
||
}
|
||
}
|
||
``` |