Leetcode 239. 滑动窗口最大值 单调双端队列经典应用

Leetcode 239. 滑动窗口最大值 单调双端队列经典应用_第1张图片

使用一个双端队列,维护滑动窗口里的元素的下标,当从左边出滑动窗口,就往队头出队,如果新来的元素比队尾的元素大,那么队尾永远不可能是最大值,所以往队尾出队即可。

class Solution {
public:
    vector maxSlidingWindow(vector& nums, int k) {
        int n = nums.size();
        deque q;
        vector res;
        for(int i=0;i=k-1) res.push_back(nums[q.front()]);
        }
        return res;
    }
};

 

你可能感兴趣的:(算法)