当前位置:网站首页>单调栈-503. 下一个更大元素 II
单调栈-503. 下一个更大元素 II
2022-07-03 08:24:00 【later_rql】
1.解题思路
首先,确定本题的解题思路,题目要求记录每个数右边的大于该数的数值,实质就是向右找最近的一个大于当前数的值,而且题目说明该数组是循环数组。
确定使用单调栈来解决本题:
单调栈的使用场景:通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。

2.难点
本题稍加一点难度,就是将数组变成的循环数组,只需要对其做取余操作即可。
3.代码
public int[] nextGreaterElements(int[] nums) {
int len=nums.length;
int[] result=new int[nums.length];
for (int i=0;i<result.length;i++){
result[i]=-1;
}
Stack<Integer> stack = new Stack<>();
stack.push(0);
for (int i=1;i<len*2;i++){
while (!stack.isEmpty() && nums[(i%len)]>nums[stack.peek()]){
if (result[stack.peek()]==-1){
result[stack.peek()]=nums[i%len];
}
stack.pop();
}
stack.push(i%len);
}
return result;
}
4.性能
- 时间复杂度:O(n)
- 空间复杂度:O(n)
边栏推荐
- Transmit pictures with Base64 encoding
- Unity Editor Extension - event handling
- Golang 时间格式整理
- Maxcompute string splitting function -split_ PART
- 十六进制编码简介
- UE4 source code reading_ Bone model and animation system_ Animation compression
- Unity editor expansion - window, sub window, menu, right-click menu (context menu)
- 【云原生】微服务之Feign的介绍与使用
- Graphics_ Learnopongl learning notes
- Swagger document configuration
猜你喜欢
随机推荐
[set theory] order relation (the relation between elements of partial order set | comparable | strictly less than | covering | Haas diagram)
Chocolate installation
[linear table] basic operation of bidirectional linked list specify node exchange
Base64编码简介
Dotween plug-in
Unity Editor Extension - Outline
VIM learning notes from introduction to silk skating
Osgconv tool usage
Swagger document configuration
Installation of PHP FPM software +openresty cache construction
Delete the last character of the string in golang
[updating] wechat applet learning notes_ three
LinkList
Development material set
String class
Un système de gestion de centre commercial pour la conception de cours de technologie d'application de base de données
Solution détaillée de toutes les formules de fonction de transfert (fonction d'activation) du réseau neuronal MATLAB
Huawei interview summary during the epidemic
Get to know unity2 for the first time
Detailed explanation of all transfer function (activation function) formulas of MATLAB neural network









