当前位置:网站首页>leetcode 503.下一个更大元素II 单调栈
leetcode 503.下一个更大元素II 单调栈
2022-08-09 18:05:00 【Alkali!】
题目描述
思路
利用单调栈的思想
- 这里要处理的数组是循环数组,但是输出的时候,还是输出原数组对应的答案,所以可以先进行处理,将原数组转化为一个伪循环数组。
即将数组 [ 0... n − 1 ] [0...n-1] [0...n−1]转化为数组[0…n-1,0…n-2] - 利用单调栈思想进行处理整个数组,从后往前处理,因为题目让求得是每个元素的 下一个更大元素
单调栈思想参考 - 将答案翻转,去掉尾部伪循环数组的部分,return结果
代码
#include<algorithm>
class Solution {
public:
vector<int> nextGreaterElements(vector<int>& nums) {
stack<int> s;
vector<int> res;
//将原数组后面添上循环的内容,变为线性伪循环数组
int length=nums.size();
for(int i=0;i<length-1;i++)
nums.push_back(nums[i]);
//从后往前遍历伪循环数组,利用单调栈的思想进行处理
for(int i=nums.size()-1;i>=0;i--)
{
while(!s.empty()&&s.top()<=nums[i])
s.pop();
if(s.empty()) //如果不存在,则输出 -1
res.push_back(-1);
else
res.push_back(s.top());
s.push(nums[i]);
}
//对结果的处理
reverse(res.begin(),res.end());
for(int i=0;i<length-1;i++)
res.pop_back();
return res;
}
};
边栏推荐
- An overview of Office 365 Groups and how to create them
- JMeter压测时如何在达到给定错误数量后停止测试
- MQTT X Web:在线的 MQTT 5.0 客户端工具
- redirect action
- 再次开始清理电子海图开发群中长期潜水人士
- 100+开箱即用的AI工具箱;程序员150岁长寿指南;『地理空间数据科学』课程资料;Graphic数据可视化图表库;前沿论文 | ShowMeAI资讯日报
- 字节二面:可重复读隔离级别下,这个场景会发生什么?
- 华为发布「国产Copilot内核」PanGu-Coder,而且真的能用中文哦!
- OpenHarmony如何查询设备类型
- MFC教程
猜你喜欢

.NET现代应用的产品设计 - DDD实践
![[免费专栏] Android安全之静态方式逆向APK应用浅析【手动注入smali+】+【IDA Pro静态分析so文件】+【IDA Pro基础使用讲解】](/img/05/61cf11d03cb3bd785bba1b12bc946e.png)
[免费专栏] Android安全之静态方式逆向APK应用浅析【手动注入smali+】+【IDA Pro静态分析so文件】+【IDA Pro基础使用讲解】

没有 accept,TCP 连接可以建立成功吗?

Iptables防火墙常见的典型应用场景

Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars

软件设计的七大原则

Bi Sheng Compiler Optimization: Lazy Code Motion

说了半天跨平台,今儿咱就来跨跨!(完结篇)——Kubenetes上手实践

安装搭建私有仓库 Harbor

What is the Treasure Project (TPC), a dark horse with wings in 2022!
随机推荐
Office 365 Group概述以及创建方法
Uniapp 应用未读角标插件 Ba-Shortcut-Badge
ThreadLocal 夺命 11 连问,万字长文深度解析
字节二面,差点倒在了MySQL上面
从功能测试到自动化测试你都知道他们的有缺点吗?
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦!
[Free Column] Android Fragment Injection for Android Security
[免费专栏] Android安全之ZIP文件目录遍历漏洞
numpy中nan_to_num如何使用
Win10系统80端口被占用的解决方法
智驾科技完成C1轮融资,此前2轮已融4.5亿元
鹅厂机器狗花式穿越10m梅花桩:前空翻、单桩跳、起身作揖...全程不打一个趔趄...
2022.08.08_每日一题
第三方bean使用ConfigurationProperties注解获取yml配置文件数据 & 获取yml配置文件数据的校验
qq机器人账号不能发送群消息,被风控
安装搭建私有仓库 Harbor
单片机编程-状态机
开源一夏 | 基于若依架构的列表详情展示
Detailed explanation of VIT transformer
你应该试着独自做个游戏

