Максимум в скользящем окне

HardAlgo
10:00
Лучше работает на десктопе
Sliding WindowDequeMonotonic Queue

Дан массив целых чисел nums и размер окна k. Окно скользит слева направо по одной позиции. Верните массив максимумов в каждом окне.

Сигнатура

def max_sliding_window(nums: list[int], k: int) -> list[int]:

Примеры

max_sliding_window([1, 3, -1, -3, 5, 3, 6, 7], 3) → [3, 3, 5, 5, 6, 7]
max_sliding_window([1], 1) → [1]
max_sliding_window([9, 11], 2) → [11]

Constraints

- 1 ≤ len(nums) ≤ 10⁵
- -10⁴ ≤ nums[i] ≤ 10⁴
- 1 ≤ k ≤ len(nums)

Примеры

Пример 1

Вход:
nums = [1,3,-1,-3,5,3,6,7]
k = 3
Выход:[3,3,5,5,6,7]

Пример 2

Вход:
nums = [1]
k = 1
Выход:[1]

Пример 3

Вход:
nums = [9,11]
k = 2
Выход:[11]
Консоль
Нажмите Run или Ctrl+Enter для запуска