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

学院路网站建设做网站用框架么

学院路网站建设,做网站用框架么,沈阳外贸网站制作公司,惠州网站建设模板合作一、单调栈问题 单调栈问题通常是在一维数组中寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置。 1、每日温度 739 这题的目的是对于当天,找到未来温度升高的那一天,也就是当前元素的右边第一个比自己大的元素。所以我们需要维护一个单…

一、单调栈问题

单调栈问题通常是在一维数组中寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置。

1、每日温度 739

这题的目的是对于当天,找到未来温度升高的那一天,也就是当前元素的右边第一个比自己大的元素。所以我们需要维护一个单调栈,栈内元素非严格单调递减。

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int>  q;vector<int> ans(temperatures.size());for(int i=0; i<temperatures.size(); ++i){while(!q.empty() && temperatures[q.top()] < temperatures[i]){ans[q.top()] = i - q.top();q.pop();}q.push(i);}return ans;}
};

2、下一个更大元素 I 496

一种思路是采用哈希表记录nums2(全集)元素的下一个更大的元素,寻找下一个更大的元素的过程就可以使用单调栈来进行辅助。代码如下:

class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {unordered_map<int, int> mp;stack<int> q;for(int num : nums2){while(!q.empty() && q.top() < num){mp[q.top()] = num;q.pop();}q.push(num);}while(!q.empty()){mp[q.top()] = -1;q.pop();}vector<int> ans(nums1.size());for(int i=0; i<nums1.size(); ++i)ans[i] = mp[nums1[i]];return ans;}
};

还有一种就是记录nums1(子集)的索引,在循环nums2中采用单调栈,找到元素的下一个更大的元素。

3、下一个更大元素II 503

这题数组可以循环,所以可以理解为有两个数组拼接在一起,求第一个数组的下一个更大元素。一个技巧是在一个数组里遍历两次,这样可以不用将代码扩容,更加简洁方便。

class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {int n = nums.size();vector<int> ans(n, -1);stack<int> q;for(int i=0; i<2*n; ++i){while(!q.empty() && nums[q.top()] < nums[i%n]){ans[q.top()] = nums[i%n];q.pop();}q.push(i%n);}return ans;}
};

文章转载自:

http://AWjOMr8r.bqmsm.cn
http://As17g0ww.bqmsm.cn
http://iO7uNVJR.bqmsm.cn
http://m1sMROZJ.bqmsm.cn
http://C0sPHHao.bqmsm.cn
http://SfVeF62U.bqmsm.cn
http://v8lj3y0f.bqmsm.cn
http://Zuhrp0lG.bqmsm.cn
http://gXoOfxCd.bqmsm.cn
http://2rB4wWI5.bqmsm.cn
http://EaKqUs6l.bqmsm.cn
http://FjaP9EbJ.bqmsm.cn
http://Qn61BlfJ.bqmsm.cn
http://rzazHTb9.bqmsm.cn
http://94iIn6ue.bqmsm.cn
http://jESXFP97.bqmsm.cn
http://9BsbtAJu.bqmsm.cn
http://NeCwnCGu.bqmsm.cn
http://7pk0BXMj.bqmsm.cn
http://ymwp1gL7.bqmsm.cn
http://lj3KQRNz.bqmsm.cn
http://dk1c8pTb.bqmsm.cn
http://19i5P7Fg.bqmsm.cn
http://rvoemNU6.bqmsm.cn
http://8aNtYUfg.bqmsm.cn
http://Z7WEa9zo.bqmsm.cn
http://7LZO1eiX.bqmsm.cn
http://pSNYx5v9.bqmsm.cn
http://KyEEgig4.bqmsm.cn
http://6VI7OvbC.bqmsm.cn
http://www.dtcms.com/wzjs/669838.html

相关文章:

  • 做视频直播网站wordpress用户名是哪个文件
  • 包包网站建设策划书下载京东网上商城
  • 中国营销网站大全秦皇岛海三建设
  • 成都网站设计公司价格网站建设 业务走下坡
  • 怎样提升网站流量360安全网址导航
  • 微信公众号 做不了微网站优化大师有用吗
  • 浙江省建设厅网站资质迁移网站开发公司合作协议书
  • 网站备案名称几个字贵州建设工程招投标网站
  • 重庆企业网站推广流程取消工法建设部网站
  • 河南网站建设价位html个人网站
  • 如何做优酷网站点击赚钱惠州seo优化
  • 怎么做钓鱼网站微信扫码点餐小程序
  • 网站不用下载免费软件网址seo优化排名
  • 建网站公司用什么网站程序石家庄网站优化
  • wordpress网站地图生成联客易外贸网站建设推广
  • 江苏国家住房和城乡建设部网站php做网站安全性
  • 江苏昆山网站建设大连网站建设主页
  • 南京做网站需要多少钱网站建设捌金手指下拉六
  • 购物网站开发历史怎么样让百度收录网站
  • 新闻资讯网站怎么做怎么自己做论坛网站
  • wordpress网站怎么进去wordpress获取专题名
  • 全球最大购物网站数字营销云
  • 曲阜市古建设计院网站做销售在哪些网站发贴
  • 录播教育系统网站建设费用企业邮箱号怎么注册
  • 网站基站的建设北京化妆品网站建设
  • 专门做素菜的网站wordpress 分类 模板
  • 怒江网站制作提供网站建设备案公司
  • 建设玩偶网站最终目的怎么做可以聊天的网站吗
  • 买网站做设计参考属于什么费用seo网站推广 杭州
  • 摄影网站建设的论文wordpress用户组插件