Написано: 16.03.2023

239. Максимум скользящего окна (Sliding Window Maximum)

hard

Задание.

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

Верните максимум скользящего окна.

Пример 1.

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

Результат: [3,3,5,5,6,7]

Пояснение:

Window position                Max
---------------               -----
[1  3  -1] -3  5  3  6  7       3
 1 [3  -1  -3] 5  3  6  7       3
 1  3 [-1  -3  5] 3  6  7       5
 1  3  -1 [-3  5  3] 6  7       5
 1  3  -1  -3 [5  3  6] 7       6
 1  3  -1  -3  5 [3  6  7]      7

Пример 2.

Входные данные: nums = [1], k = 1

Результат: [1]

Решение.

class Solution {
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        
    }
};

Способ решения.