滑动窗口时单调队列的经典问题。时间复杂度和空间复杂度都是o(n)。单调队列即,队列中保存的值是有单调性的。实现原理类似双指针。用head指针代表对首,tail代表队尾,head > tail 即队列为空。当窗体大小大于k时,head++,即q[head]+k-1 < i.当a[i]比队尾若干元素的值更最时,tail--,相当于删除了这若干值,因为这若干值对答案的贡献为0。单调队列的代码如下: int head = 0,tail = -1; for(int i = 1;i <= n; i++) { while(head <= tail && q[h...