Дан массив целых чисел nums, имеется скользящее окно размера k, которое движется с самого левого края массива в самый правый. Вы можете видеть только k чисел в окне. Каждый раз, когда скользящее окно движется вправо на одну позицию, нужно вернуть максимальное значение в текущем окне.
Напишем функцию max_sliding_window(nums: List[int], k: int) -> List[int]
, которая принимает массив целых чисел nums
и размер скользящего окна k
, и возвращает список максимальных значений для каждого окна, двигающегося на одну позицию вправо.
nums = [1,3,-1,-3,5,3,6,7]
k = 3
max_sliding_window(nums, k)
Output:
[3, 3, 5, 5, 6, 7]
nums = [1]
k = 1
max_sliding_window(nums, k)
Output:
[1]
nums = [1,-1]
k = 1
max_sliding_window(nums, k)
Output:
[1, -1]
nums = [9,11]
k = 2
max_sliding_window(nums, k)
Output:
[11]