Max Consecutive Ones III
Leetcode #1004 | Medium | Скользящее окно
Идея
Скользящее окно с счетчиком нулей, дополнение к Max Consecutive Ones II, только теперь условие zeroCount>k а не >1
Big-O
- Время
O(N) - Память
O(1)
Код
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;
}
}