239. 滑动窗口最大值
int index = 0;int head = 0;int tail = -1;int[] moQue = new int[nums.length];//单调队列int[] res = new int[nums.length-k+1];//结果集for (int i = 0; i < nums.length; ++ i) {// 判断队头是否已经滑出窗口if (head <= tail && i - k + 1 > moQue[head]) ++ head;// 维护队列的单调性while (head <= tail && nums[i] > nums[moQue[tail]]) -- tail;moQue[++ tail] = i;// 输出最小值if (k <= i + 1)res[index++] = nums[moQue[head]];}
