题解 | #滑动窗口的最大值#

滑动窗口的最大值

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务