leetcode 239. 滑动窗口最大值 发表于 2021-10-01 更新于 2021-10-02 分类于 leetcode 阅读次数: 解题思路模拟窗口滑动,利用优先队列获取窗口内的最大值 注意:避免窗口外的数据造成影响 时间复杂度O(nlogn) 空间复杂度O(n) 代码1234567891011121314151617class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]: ret = [] q = [] for i, num in enumerate(nums): heapq.heappush(q, (-nums[i], i)) if i < k-1: continue # 窗口外的元素要移除 while q[0][1] <= i-k: heapq.heappop(q) ret.append(-q[0][0]) return ret