// 单调队列算法void maxSlidingWindow(int* nums, int numsSize, int k, int* result, int* resultSize){ Deque q; // 定义双端队列 Element e; initDeque(&q, numsSize); *resultSize = 0; for (int i = 0; i < numsSize; i++) { if (i >= k && getFront(&q).idx <= i - k) ...
单调队列,即单调递减或单调递增的队列。使用频率不高,但在有些程序中会有非同寻常的作用。单调队列的操作 举例 不妨用一个问题来说明单调队列的作用和操作:不断地向缓存数组里读入元素,也不时地去掉最老的元素,不定期的询问当前缓存数组里的最小的元素。最直接的方法:普通队列实现缓存数组。进队出队都是O(1...