这题就是相当于一直求一个在变化的list的最大值组成的集合。代码如下:
class Solution(object):
def maxSlidingWindow(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
a = []
if nums == []:
return a
for i in range(len(nums) - k + 1):
a.append(max(nums[i: i + k]))
return a不过hint说用deque的双端列表没用,估计用了能快,毕竟上面代码是每次新建立一个list调用max(),而deque可以记录最大值来快速求得最大值。时间上肯定快。
本文介绍了一种使用双端队列优化滑动窗口最大值算法的方法,通过避免重复计算,显著提高了效率。
1181

被折叠的 条评论
为什么被折叠?



