importjava.util.Deque;importjava.util.LinkedList;//leetcode submit region begin(Prohibit modification and deletion)classMyQueue{Deque<Integer> deque =newLinkedList<>();voidpoll(int val){if(val == deque.peek()){
deque.poll();}}voidadd(int val){while(!deque.isEmpty()&& val > deque.getLast()){
deque.removeLast();}
deque.add(val);}intpeek(){return deque.peek();}}classSolution{publicint[]maxSlidingWindow(int[] nums,int k){int len = nums.length - k +1;//这表示有几个窗口int[] res =newint[len];int num =0;//自定义队列MyQueue myQueue =newMyQueue();for(int i =0; i < k; i++){
myQueue.add(nums[i]);}
res[num++]= myQueue.peek();for(int i = k; i < nums.length; i++){//移除元素
myQueue.poll(nums[i - k]);//添加元素
myQueue.add(nums[i]);//获得最大值
res[num++]= myQueue.peek();}return res;}}//leetcode submit region end(Prohibit modification and deletion)