Код Junior Скользящее окно обновлено
Максимальная сумма окна длины k
Условие
Максимальная сумма k подряд идущих элементов. Если элементов меньше k - 0.
Примеры
maxSumWindow([2, 1, 5, 1, 3, 2], 3) // 9
maxSumWindow([1, 2], 3) // 0
maxSumWindow([5], 1) // 5
Как подойти
Окно фиксированной длины: одна инициализация + скольжение за O(1) на шаг. Наивно - O(n·k), с окном O(n).
Подсказки: 1
- Не пересчитывай сумму окна заново - добавь новый элемент и вычти выпавший.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Термины по теме
Ещё по теме «Скользящее окно»
- Самая длинная серия единиц с k заменами
- Перестановка как подстрока
- Самая длинная серия после k замен
- Кратчайший подмассив с суммой ≥ target
- Самая короткая подстрока с k различными
- Самая длинная подстрока без повторов: где начинается
- Лучшие k дней подряд по выручке
- Минимальное окно, содержащее все символы шаблона