leetcode-剑指offer59-I 滑动窗口的最大值

leetcode-剑指offer59-I 滑动窗口的最大值2020-8-13这道题我实在没想到什么好方法,就暴力求解了。看了题解才知道stl里面还有双端队列这个数据结构,可是还是没看懂大佬们怎么用,只知道大概是维护了一个最小栈。等过几天更新大佬们的解法。https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/暴力解法classSolution{public:intget_Max(queue<int>que){

大家好,又见面了,我是你们的朋友全栈君。

2020-8-13

这道题我实在没想到什么好方法,就暴力求解了。看了题解才知道stl里面还有双端队列这个数据结构,可是还是没看懂大佬们怎么用,只知道大概是维护了一个最小栈。等过几天更新大佬们的解法。

https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/

暴力解法

class Solution {
public:
    int get_Max(queue<int> que)
    {
        int max_num = que.front();
        while(!que.empty())
        {
            max_num = max(que.front(), max_num);
            que.pop();
        }
        return max_num;
    }

    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        queue<int>que;
        vector<int>ans;
        if(nums.empty())
            return ans;
        int max_num = nums[0];
        for(int i=0;i<k;i++)
        {
            que.push(nums[i]);
            max_num = max(max_num, nums[i]);
        }
        
        ans.push_back(max_num);
        for(int i=1;i+k<=nums.size();i++)
        {
            que.pop();
            que.push(nums[i+k-1]);
            if(nums[i-1] == max_num)
            {
                max_num = get_Max(que);
            }
            else
                max_num = max(nums[i+k-1], max_num);
            ans.push_back(max_num);
        }
        return ans;
    }
};

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158572.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月13日 上午10:00
下一篇 2022年7月13日 上午10:00


相关推荐

  • Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统

    Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统

    2022年2月10日
    66
  • 国外BT站点

    国外BT站点推荐 http www suprnova org 后面的 喜欢的朋友自己开发 http anime mircx com http www creatures org bt http www torrents co uk new bt Tvepisodes movies musichttp www suprnova org Tvepisodes movies ga

    2026年3月18日
    7
  • 阅读书源最新2020在线导入_最最最最最好用的小说神器,全网书源免费用!

    阅读书源最新2020在线导入_最最最最最好用的小说神器,全网书源免费用!今天给大家分享的是小说软件,为了满足所有小伙伴的需求,今天安卓和苹果都安排上了,一款Android应用,一款iOS应用。两款应用都十分相似,都是可以自行添加书源的软件,几乎覆盖全网小说。阅读(Android)软件本身是没有任何资源的,如果不添加书源地址,也不能搜索到任何小说。书源添加流程:软件想要很好的使用,还需要添加书源,该软件自己有一个在线书源库,内含上千个书源地址,足够满足大家的使…

    2022年6月17日
    80
  • RowBounds分页原理、RowBounds的坑

    RowBounds分页原理、RowBounds的坑背景说明项目中经常会使用分页查询,有次使用了RowBounds进行分页,因为很多场景或网上也看到很多这样的写法,所以我也在项目中使用了该类进行分页。但是有次线上却抛了异常,由此引发了对RowBounds原理的探究。一:RowBounds分页原理Mybatis可以通过传递RowBounds对象,来进行数据库数据的分页操作,然而遗憾的是,该分页操作是对ResultSet结果集进行分页,也就是人们常说的逻辑分页,而非物理分页(物理分页当然就是我们在sql语句中指定limit和offset值)。RowBou

    2026年2月17日
    4
  • getElementById获取元素

    getElementById获取元素<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-UA-Compatible”content=”ie=edge”><title>D.

    2022年7月15日
    23
  • 定时任务时间设置[通俗易懂]

    每天凌晨2点002**?和每天隔一小时0**/1**?例1:每隔5秒执行一次:*/5****?例2:每隔5分执行一次:0*/5***?在26分、29分、33分执行一次:026,29,33***?例3:每天半夜12点30分执行一次:0300**?(注意日期域为0不是24)每天凌晨1点执行一次:001**?…

    2022年4月15日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号