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

中国女排联赛排名西安seo引擎搜索优化

中国女排联赛排名,西安seo引擎搜索优化,青岛李沧区城乡建设局网站,建设企业网站管理的重要性503. 下一个更大元素 II(中等) 方法:单调栈 「 对于找最近一个比当前值大/小」的问题,都可以使用单调栈来解决。栈可以很好的保存原始位置,最近影射栈顶。题目要求更大,因此更大即解–出栈,更小…

503. 下一个更大元素 II(中等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法:单调栈

  • 「 对于找最近一个比当前值大/小」的问题,都可以使用单调栈来解决。
  • 栈可以很好的保存原始位置,最近影射栈顶。题目要求更大,因此更大即解–出栈,更小则入栈。
  • 「 栈内存放的永远是还没更新答案的下标。⌟

思路

  • 首先,创建一个大小为n的答案数组ans,初始化为-1。

  • 然后,使用一个栈s来存储数组中的索引。 从数组的第一个元素开始遍历,将第一个元素的索引压入栈中。

  • 接着遍历数组的剩余元素。对于每个元素,我们将栈顶元素与当前元素进行比较。 如果栈顶元素小于当前元素,则说明栈顶元素的下一个更大元素就是当前元素。 我们将栈顶元素的下一个更大元素设置为当前元素,并将栈顶元素出栈。 重复这个过程,直到栈为空或者栈顶元素不小于当前元素。

  • 最后,将当前元素的索引压入栈中,以便在后面的元素中找到它的下一个更大元素。 当遍历完整个数组后,我们就得到了所有元素的下一个更大元素。

  • 两次遍历:由于目标要么在当前元素之前,要么在之后,因此两次遍历一定能覆盖到。

代码

class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {int n = nums.size();vector<int> ans(n, -1);// vector<int> flag(n, 0);stack<int> s;s.push(0);for(int i=1;i <= 2*n-2;++i){while(!s.empty() && (nums[s.top()] < nums[i%n])){ans[s.top()] = nums[i%n];s.pop();}s.push(i%n);}return ans;}
};
http://www.dinnco.com/news/59984.html

相关文章:

  • 公司网站建设需要注意什么企业网络搭建
  • 怎么制作网站设计便民信息微信平台推广
  • wordpress跨境平台威海seo公司
  • 网站开发建设方案的主要内容包括互动营销是什么
  • 为您打造高端品牌网站知识营销
  • 上海市建设工程招标造价网站大数据营销的案例
  • 中国电商平台有哪些seo的全称是什么
  • 做网站空间会招攻击谷歌网页版登录入口
  • 柳州网站建设公新媒体营销策略有哪些
  • 公司网站域名申请流程数据分析网页
  • 佛山网站到首页排名制作一个网站的费用是多少
  • 卖高权重网站做跳转重庆企业站seo
  • 做公司网站需要提供的资料上海网站seo公司
  • 江苏省建设协会网站爱网
  • wordpress插件更新保留修改内部优化
  • 想学做网站从哪里入手网站设计
  • 网站建设 大纲免费发布推广平台
  • 南宁网站制作爱站网关键词排名
  • 网站建设报价书网站生成app工具
  • 网站活跃度怎么做电子商务网站建设案例
  • WordPress审核评论插件147seo工具
  • 硬件开发平台是什么seo新站如何快速排名
  • 做图片类型网站需要什么服务器seo推广费用需要多少
  • 响应式网站要多久全网关键词云怎么查
  • 网站推广工作是在网站发布之后开展的靠谱seo外包定制
  • 做网站找哪个好在线检测网站安全
  • 公安备案网站首页合肥做网站推广
  • 客户说做网站没效果seo网站关键词
  • 河北沧州泊头做网站的电话安徽网络关键词优化
  • 石家庄建网站百度联系方式