版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sengo_GWU/article/details/83066329
239. Sliding Window Maximum
https://www.youtube.com/watch?v=2SXqBsTR6a8
class Solution(object):
def maxSlidingWindow(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
d = collections.deque()
out = []
for i, n in enumerate(nums):
while d and nums[d[-1]] < n:
d.pop()
d.append(i)
if d[0] == i - k: # 存了K+1个元素了
d.popleft()
if i >= k - 1:
out.append(nums[d[0]])
return out