10,2 тыс подписчиков
🖥 Решение задачи 1004 из Leetcode (Max Consecutive Ones III)
Задача часто встречается на собеседованиях.
Код оптимального решения с 2 указателями:
nums = [0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1]
k = 3
left = right = max1 = zeros = 0
while right < len(nums):
if nums[right] == 0:
zeros += 1
while zeros > k:
if nums[left] == 0:
zeros -= 1
left += 1
max1 = max(max1, right - left + 1)
right += 1
print(max1)
📌 Решение
Около минуты
9 октября 2023