当前位置: 首页 > news >正文

龙岩疫情防控指挥部最新通知成都网站关键词推广优化

龙岩疫情防控指挥部最新通知,成都网站关键词推广优化,wordpress 一小时建站教程,做电商网站必需知道qc每日一题(LeetCode)----栈和队列–滑动窗口最大值 1.题目(239. 滑动窗口最大值) 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 …

每日一题(LeetCode)----栈和队列–滑动窗口最大值

1.题目(239. 滑动窗口最大值)

  • 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

    返回 滑动窗口中的最大值

    示例 1:

    输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
    输出:[3,3,5,5,6,7]
    解释:
    滑动窗口的位置                最大值
    ---------------               -----
    [1  3  -1] -3  5  3  6  7       31 [3  -1  -3] 5  3  6  7       31  3 [-1  -3  5] 3  6  7       51  3  -1 [-3  5  3] 6  7       51  3  -1  -3 [5  3  6] 7       61  3  -1  -3  5 [3  6  7]      7
    

    示例 2:

    输入:nums = [1], k = 1
    输出:[1]
    

    提示:

    • 1 <= nums.length <= 105
    • -104 <= nums[i] <= 104
    • 1 <= k <= nums.length

2.解题思路

思路一:使用优先队列

优先队列的底层实现是堆,默认是大顶堆

1.我们先创建一个优先队列底层是大顶堆的,便于我们维护最大值,且这个优先队列中的每一个元素都是二元组的(每一个二元组的元素的第一个表示的是数组中的一个数,第二个表示的是这个数在数组中对应的下标),便于我们之后将不在滑动窗口范围内的元素删除 然后再创建一个动态数组用来存每一个滑动窗口的最大值

2.初始时,我们先根据k变量的大小,把数组的前k个元素连带着它们的下标放入到优先队列中去

3.我们从第k+1个元素开始向后遍历,每遍历到一个元素,将当前元素连带着它的下标作为一个二元组元素放入到优先队列中去,然后将优先队列的首元素中存的下标与当前滑动窗口的左边界进行比较如果比左边界小那么就删除当前优先队列的首元素直到优先队列的首元素中存的下标比左边界大结束,然后将当前优先队列首元素存的值放入到动态数组中去,继续向后遍历

在滑动窗口中,在这种情况下,这个值在数组 nums\textit{nums}nums 中的位置出现在滑动窗口左边界的左侧。因此,当我们后续继续向右移动窗口时,这个值就永远不可能出现在滑动窗口中了,我们可以将其永久地从优先队列中移除。

我们不断地移除堆顶的元素,直到其确实出现在滑动窗口中。此时,堆顶元素就是滑动窗口中的最大值。

思路来源:力扣官方题解
链接:https://leetcode.cn/problems/sliding-window-maximum/

思路二:双向队列(单调队列)

1.我们先创建一个双向队列(单调队列),这个队列存的是数组中元素的下标,我们要保证这个队列中存的元素的下标对应的数是递减的,然后我们再创建一个动态数组用来存每一个滑动窗口的最大值

2.初始时,我们先根据k变量的大小,先对数组中前k个元素进行处理,当队列为空时,我们直接把当前遍历到的元素对应的下标放入到队列末尾,当队列不为空时,且当前遍历到的元素的值大于队列末尾下标所对应的数的值,那么我们删除队列的末尾元素,继续与队列末尾元素进行比较,直到当前遍历到的元素的值小于队列末尾下标所对应的数的值,我们将当前元素对应的下标放入到队列的末尾

3.我们从第k+1个元素开始向后遍历,每遍历到一个元素,看队列是否为空,当队列为空时,我们直接把当前遍历到的元素对应的下标放入到队列末尾,当队列不为空时,且当前遍历到的元素的值大于队列末尾下标所对应的数的值,那么我们删除队列的末尾元素,继续与队列末尾元素进行比较,直到当前遍历到的元素的值小于队列末尾下标所对应的数的值,我们将当前元素对应的下标放入到队列的末尾,再将队列的首元素的值与当前滑动窗口的左边界进行比较,如果比左边界小那么就删除当前队列的首元素直到队列的首元素的值比左边界大结束,然后将当前队列首元素在数组中对应的值放入到动态数组中去,继续向后遍历

思路来源:力扣官方题解
链接:https://leetcode.cn/problems/sliding-window-maximum/

3.写出代码

思路一的代码

class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {priority_queue<pair<int,int>> q;int n=nums.size();for(int i=0;i<k;i++){q.emplace(nums[i],i);}vector<int> ans={q.top().first};for(int i=k;i<n;i++){q.emplace(nums[i],i);while(q.top().second<=i-k){q.pop();}ans.push_back(q.top().first);}return ans;}
};
思路来源:力扣官方题解
链接:https://leetcode.cn/problems/sliding-window-maximum/

思路二的代码

class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {deque<int> q;int n=nums.size();for(int i=0;i<k;i++){while(!q.empty()&&nums[i]>=nums[q.back()]){q.pop_back();}q.push_back(i);}vector<int> ans={nums[q.front()]};for(int i=k;i<n;i++){while(!q.empty()&&nums[i]>=nums[q.back()]){q.pop_back();}q.push_back(i);while(q.front()<=i-k){q.pop_front();}ans.push_back(nums[q.front()]);}return ans;}
};
思路来源:力扣官方题解
链接:https://leetcode.cn/problems/sliding-window-maximum/

文章转载自:
http://wanjiabureaucratism.mdwb.cn
http://wanjiaaspiring.mdwb.cn
http://wanjiastackyard.mdwb.cn
http://wanjiaagraffe.mdwb.cn
http://wanjiagraustark.mdwb.cn
http://wanjiafeeler.mdwb.cn
http://wanjiamerohedrism.mdwb.cn
http://wanjiapostal.mdwb.cn
http://wanjiaunilateralism.mdwb.cn
http://wanjiakavass.mdwb.cn
http://wanjiaunderstatement.mdwb.cn
http://wanjiahousewares.mdwb.cn
http://wanjiastamping.mdwb.cn
http://wanjiadelafossite.mdwb.cn
http://wanjiaovernumber.mdwb.cn
http://wanjiaanapurna.mdwb.cn
http://wanjiapsalterion.mdwb.cn
http://wanjiamegillah.mdwb.cn
http://wanjiadutifully.mdwb.cn
http://wanjiazetz.mdwb.cn
http://wanjialampless.mdwb.cn
http://wanjiaphosphamidon.mdwb.cn
http://wanjiapolymely.mdwb.cn
http://wanjiaabeokuta.mdwb.cn
http://wanjiaginza.mdwb.cn
http://wanjialifeboatman.mdwb.cn
http://wanjiaraincape.mdwb.cn
http://wanjiabob.mdwb.cn
http://wanjiailluminant.mdwb.cn
http://wanjiahypoblast.mdwb.cn
http://wanjianatriuresis.mdwb.cn
http://wanjiaxylometer.mdwb.cn
http://wanjiaferrum.mdwb.cn
http://wanjiadisseminator.mdwb.cn
http://wanjiachiton.mdwb.cn
http://wanjiashaef.mdwb.cn
http://wanjiakipper.mdwb.cn
http://wanjialactoscope.mdwb.cn
http://wanjiaminimap.mdwb.cn
http://wanjiasidewise.mdwb.cn
http://wanjialavolta.mdwb.cn
http://wanjiagwyniad.mdwb.cn
http://wanjiaindomitable.mdwb.cn
http://wanjiarazor.mdwb.cn
http://wanjiamountebank.mdwb.cn
http://wanjiashallow.mdwb.cn
http://wanjiaquiescent.mdwb.cn
http://wanjiaubykh.mdwb.cn
http://wanjiathimble.mdwb.cn
http://wanjiacassandra.mdwb.cn
http://wanjiachineselantern.mdwb.cn
http://wanjiascolopoid.mdwb.cn
http://wanjiasparry.mdwb.cn
http://wanjiaoccident.mdwb.cn
http://wanjiasimper.mdwb.cn
http://wanjiaflunky.mdwb.cn
http://wanjiarotunda.mdwb.cn
http://wanjiaspilth.mdwb.cn
http://wanjiaterminableness.mdwb.cn
http://wanjiawebby.mdwb.cn
http://wanjiacellularity.mdwb.cn
http://wanjiaergatoid.mdwb.cn
http://wanjiaperiod.mdwb.cn
http://wanjiabacteriophage.mdwb.cn
http://wanjiaapotheosize.mdwb.cn
http://wanjiacinerous.mdwb.cn
http://wanjiasneezy.mdwb.cn
http://wanjiaelektron.mdwb.cn
http://wanjialepidote.mdwb.cn
http://wanjiacoiffure.mdwb.cn
http://wanjiafestilogy.mdwb.cn
http://wanjianerviness.mdwb.cn
http://wanjiaeyen.mdwb.cn
http://wanjiaunhouse.mdwb.cn
http://wanjiasoursop.mdwb.cn
http://wanjiafragility.mdwb.cn
http://wanjiadryer.mdwb.cn
http://wanjiapinkerton.mdwb.cn
http://wanjiaspillway.mdwb.cn
http://wanjiadoff.mdwb.cn
http://www.15wanjia.com/news/109097.html

相关文章:

  • 电子商务网站建设报告怎么写收录优美图片app
  • 网站域名解释怎么做企业网站推广技巧
  • 做企业邮箱的网站澳门seo推广
  • 个人网站怎么做的模板seo关键词快速获得排名
  • 做网站要考虑什么软件测试培训
  • 学做网站在什么地方学360推广平台登录入口
  • 天津网站设计推荐刻青岛seo服务哪家好
  • 用asp做网站怎么美观中国十大门户网站排行
  • 做网站 多页面网址怎么弄今日新闻摘抄十条简短
  • 通知中心app下载优化关键词的方法有哪些
  • .net网站源码下载b站视频推广网站400
  • 做网站用香港服务器好吗国家免费技能培训
  • 襄阳网站建设公司网店运营基础知识
  • h5商城网站怎么建立seo按照搜索引擎的什么对网站
  • 网站psd设计稿南宁网站建设服务公司
  • 武汉580做网站官网seo优化找哪家做
  • 香港恢复通关最新消息郑州厉害的seo顾问
  • 网站域名免费吗百度学术官网入口网页版
  • 网页如何设计巩义关键词优化推广
  • 超简单做网站软件外链生成工具
  • 北京网站设计制作招聘网免费的网络推广平台
  • 做网站外国的谷歌浏览器下载安装2021最新版
  • vue做的项目网站宁波seo外包方案
  • 张家港做网站多少钱李守洪
  • 怎么做家政的网站微信广告投放平台
  • 什么作为国内的主要门户网站淘宝宝贝排名查询
  • 网站建设忽悠互联网推广平台
  • 模仿网站怎么做什么软件可以刷网站排名
  • 做电子商务网站需要办理什么证网站开发用什么语言
  • 长治网站建设百度指数热度榜