题目 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 代码 class Solution { public int[] maxSlidingWindow(int[] nums, int k) { Deque<Integer> deque = new LinkedList<Integer>(); int[] array = new int[nums.length - k + 1]; for(int i = 0; i < nums.length; i++){ if(deque.isEmpty()){ deque.addLast(i); }else{ while(!deque.isEmpty() && nums[deque.getLast()] <= nums[i]){ deque.removeLast(); } deque.addLast(i); if((i - deque.getFirst()) == k){ deque.removeFirst(); } } if((i+1) >= k){ array[i + 1 - k] = nums[deque.getFirst()]; } } return array; } }