https://leetcode.com/problems/max-consecutive-ones-iii/description/
class Solution:
def longestOnes(self, nums: List[int], k: int) -> int:
zero_count = 0
l = 0
max_ones = 0
for r in range(len(nums)):
if nums[r] == 0:
zero_count += 1
while zero_count > k:
if nums[l] == 0:
zero_count -= 1
l += 1
max_ones = max(max_ones, r - l + 1)
return max_ones
TC: O(n), n for the length of nums
SC: O(1)