← К задачам
Средне · +3Два указателяСкользящее окно

Максимальная сумма окна длины k

Дан список целых чисел arr и натуральное число k.

Реализуйте функцию max_window_sum(arr, k), которая возвращает максимальную сумму среди всех подряд идущих подотрезков (окон) длины ровно k. Если k больше длины списка, k <= 0 или список пуст так, что окно не помещается — верните None. Используйте скользящее окно за O(n).

Формат входа: arr — список чисел, k — длина окна.

Формат выхода: число (максимальная сумма окна) или None.

Примеры:

max_window_sum([1, 2, 3, 4, 5], 2) -> 9     # окно [4, 5]
max_window_sum([5, -2, 7, -8, 4, 6], 3) -> 10
max_window_sum([1, 2, 3], 5) -> None
def max_window_sum(arr, k):
    # ваш код
    pass
Для запуска тестов необходима авторизация.
Поддержать проект