题解 | #滑动窗口的最大值#

滑动窗口的最大值

https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param num int整型vector 
     * @param size int整型 
     * @return int整型vector
     */
    vector<int> maxInWindows(vector<int>& num, int size) {
        // write code here
        if (num.size() == 0 || size == 0 || size > num.size()) return {};
        vector<int> ret(num.size()- size + 1);
        deque<int> que;
        int i;
        for (i = 0; i < size; ++i) {
            while (!que.empty() && que.back() < num[i]) {
                que.pop_back();
            }
            que.push_back(num[i]);
        }
        ret[0] = que.front();
        for (i = size; i < num.size(); ++i) {
            if (que.front() == num[i-size]) {
                que.pop_front();
            }
            while (!que.empty() && que.back() < num[i]) {
                que.pop_back();
            }
            que.push_back(num[i]);
            ret[i-size+1] = que.front();
        }
        return ret;
    }
};

全部评论

相关推荐

秒拒也太伤人心了
码农索隆:非得字节嘛
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务