leetcode239. 滑动窗口最大值

const int N=100010;
class Solution {
private:
    int q[N];
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        int n=nums.size();
        int hh=0,tt=-1;
        vector<int> res;
        for(int i=0;i<n;i++){
            while(hh<=tt&&nums[i]>=nums[q[tt]]) tt--;
            q[++tt]=i;
            while(hh<=tt&&q[hh]<i-k+1) hh++;
            if(i>=k-1) res.push_back(nums[q[hh]]);
        }
        return res;
    }
};
posted @ 2025-03-23 09:13  九三青梧  阅读(4)  评论(0)    收藏  举报