单调队列,滑动窗口
思路还是要再缕清楚一些
class Solution {
public int[] maxSlidingWindow(int[] nums, int k) {
if(nums.length==0||k==0) return new int[0];
int len = nums.length;
Deque<Integer> q = new LinkedList<>();
int[] res = new int[len-k+1];
for(int j=0,i=1-k; j<len; i++,j++){
if(i>0&&q.peekFirst()==nums[i-1]) q.removeFirst();
while(!q.isEmpty()&&q.peekLast()<nums[j]) q.removeLast();
q.addLast(nums[j]);
if(i>=0) res[i] = q.peekFirst();
}
return res;
}
}