import collections # 解题思路: htt****************************liding-window-maximum/description/ # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num int整型一维数组 # @param size int整型 # @return int整型一维数组 # class Solution: def maxInWindows(self , num: List[int], size: int) -> List[int]: # write code here if size==0 or len(num)==0: return [] # 1.定义一个队列存下标 dq=collections.deque() n=len(num) res=[] for i ,number in enumerate(num): while dq and num[dq[-1]]<number: dq.pop() # 移除下标 # 添加到队列 dq.append(i) # 加入下标 if i-size==dq[0]: dq.popleft() if i>=size-1: #print(i,dq) res.append(num[dq[0]]) return res