Войти Регистрация
Алгоритмы

176. Лучшие k дней подряд

Лёгкая

Дан список nums — число заказов такси по дням, и число k. Найдите k подряд идущих дней с наибольшим средним и верните их сумму (среднее — сумма, делённая на k).

Если k < 1 или k больше длины nums, такого отрезка нет — верните None.

В работе: Отчёт для партнёра такси: лучшая неделя по заказам за последний квартал.

Пример 1

Ввод
nums = [1, 12, -5, -6, 50, 3]
k = 4
Вывод
51

Лучшее окно 12, −5, −6, 50: сумма 51, среднее 12,75.

Пример 2

Ввод
nums = [1, 2, 3, 4, 5, 6]
k = 40
Вывод
None

Окна длины 40 нет — на этом кейсе кандидат на моке и споткнулся.

Ограничения

  • 0 ≤ длина nums ≤ 10⁶
  • |nums[i]| ≤ 10⁴
  • −10 ≤ k ≤ 10⁶
  • Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def best_window_sum(nums, k):
Скользящее окноМассивцельO(n)

Источник: Яндекс, публичное мок-собеседование, отчёт на Хабре, 2026. Условие пересказано своими словами.