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

国外单页制作网站模板下载网站 建设公司

国外单页制作网站模板下载,网站 建设公司,百度糯米网站怎么做,网站的用途1. 题意 在一个循环数组中,找到下一个比它大的数。 2. 题解 也不知道怎么就单调栈了,可能是刷出来的吧。。。 还是来解释一下吧!!! 如果有新元素入栈 c c c, 那么在栈内的元素只要小于新元素的 s s s…

1. 题意

在一个循环数组中,找到下一个比它大的数。

2. 题解

也不知道怎么就单调栈了,可能是刷出来的吧。。。

还是来解释一下吧!!!

如果有新元素入栈 c c c

那么在栈内的元素只要小于新元素的 s s s,都需要出栈,因为他们的

下一个更大的元素显然就是 c c c。这些小于 s s s的栈内元素都需要出栈。

更进一步的说,栈内的元素它们都还没有找到下一个更大的元素。

为什么是栈呢?因为我们先比较的是离当前元素最近的,

也就是后入栈的那些先比较,也就满足了先进后出的特性。

那么单调性呢?因为在入栈时需要保证栈内元素是小于当前元素的,因

此栈内元素一定是单调递减的,当然可以相等。

举个例子

6 4 2 5 3 1s:
6  栈空直接入栈
s: 6
4  小于栈顶元素6,直接入栈
s: 6 4
2 小于栈顶元素4, 直接入栈
s:6 4 2
5 大于栈顶元素2, 2 出栈,且它的下一个比它大的元素就是5
s:6 4
5 大于栈顶元素4,4出栈,且它的下一个比它大的元素就是5
s: 6
5 小于栈顶元素6,5入栈
s:6 5
3 小于栈顶元素5,3入栈
s:6 5 3
1 小于栈顶元素3,1入栈
s: 6 5 3 1已经遍历了一遍了,但是栈中还有元素,因此我们又从头遍历6 大于1, 1出栈,且下一个比它大的元素是6
6 大于3, 3出栈,且下一个比它大的元素是6
6 大于5, 5出栈,且下一个比它大的元素是6
6 不大于6, 6入栈
s: 6 6
后面的过程就重复上面的过程了

对于一个循环的数组,我们常常附加一个相同的数组来把它变成

线性的。在这里我们并没有直接附加,而是采取了取模这种方式。

代码其实就没有那么重要了。。。

  • 正向遍历
class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {int n = nums.size();        std::stack<int> s;vector<int> ans( n, -1);for (int i = 0; i < 2 * n - 1; ++i) {int idx = i % n;while (!s.empty() && nums[s.top()] < nums[ idx ]) {ans[ s.top() ] = nums[ idx  ];s.pop();}s.push( idx );}return ans;}
};
  • 反向遍历
class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {int n = nums.size();        std::stack<int> s;vector<int> ans( n, -1);for (int i = 2 * n - 1; ~i; --i) {int idx = i % n;while (!s.empty( ) && nums[ s.top()] <= nums[ idx ]) {s.pop();}if (!s.empty() && i < n) {ans[ idx ] = nums[s.top()];}s.push( idx );}return ans;}
};
http://www.yayakq.cn/news/602947/

相关文章:

  • 北京网站建设 降龙网wordpress的导航代码
  • 福州网站建设设计专业网站设计第三方服务
  • 一个网站交互怎么做的网站建设好后能直接打开吗
  • 自己做网站自己买服务器wordpress kan主题
  • 人才招聘网站开发大连建设工程设计院有限公司网站
  • 国外网站推广平台有哪些wordpress 文档模板
  • 网站开发学什么比较有优势wordpress发送邮箱软件
  • 网站建设对百度推广的影响wordpress 积分支付
  • 萝卜建站分类信息网站已备案 还不能访问
  • 大连建网站策划做网站需要购买什么
  • 网站建设 事迹网站换代理
  • 大连建设银行官网招聘网站阿里巴巴国际站运营教程
  • 辛集市住房和城乡建设厅网站中核集团2023校园招聘信息
  • 做网站优化公司php大气企业网站
  • 赫山区网站建设wordpress 锚点应用
  • 同ip网站珠海建网站
  • 怎么做网站可手机看网站建设 工具
  • 涟水住房和城乡建设局网站apache2 wordpress
  • 建网站公司营销型网站建设加快实施创新驱动发展战略
  • 天津项目网站建设广州市省建设厅网站
  • 深圳网站建设深圳企业网站建设wordpress 去掉超链接
  • 网站技术开发设计网站正在建设中色
  • 有一个做场景动画的网站网站建设可研报告
  • 怎么看网站制作网站收录优化
  • 普通网站逻辑设计数据流图试玩网站源码
  • 祖庙网站建设石狮网站建设联系电话
  • 网站建设费会计科目软件开发工程师面试自我介绍
  • 兰州怎么提高网站的排名交互设计专业
  • 密云网站建设服务企业解决方案搞笑
  • 柳州做网站的企业亚马逊aws永久免费服务69