题解 | #滑动窗口的最大值#
滑动窗口的最大值
https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788
class Solution:
def maxInWindows(self, num: List[int], size: int) -> List[int]:
if not size:
return
from collections import deque
queue_of_idx = deque()
res = []
for i, val in enumerate(num):
if i >= size and i - queue_of_idx[0] == size:
queue_of_idx.popleft()
while queue_of_idx and val > num[queue_of_idx[-1]]:
queue_of_idx.pop()
queue_of_idx.append(i)
if i >= size - 1:
res.append(num[queue_of_idx[0]])
return res
查看10道真题和解析