Skip to main content

Max Consecutive Ones III

1004. Max Consecutive Ones III

Output: 6
class Solution():
def longestSubOnes(self, nums, k):
longest, max_freq, l = 0, 0, 0

for r, val in enumerate(nums):
while max_freq == k and val == 0:
longest = max(longest, r-l)

if nums[l] == 0:
max_freq -= 1

l += 1

if val == 0:
max_freq += 1

longest = max(longest, r-l+1)

return longest

nums = [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]
k = 2

p1 = Solution()
print(p1.longestSubOnes(nums, k))