这题就是相当于一直求一个在变化的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可以记录最大值来快速求得最大值。时间上肯定快。