题目
官方解way
最大单调递增栈
1 | class Solution { |
最大单调递增栈的流程:
数组中元素依次进栈:
- 假如栈不为空 且 栈顶元素小于数组当前元素, 则将 栈顶元素出栈 直至 栈不为空 或 栈顶元素 大于等于 数组当前元素
- 将栈顶元素和第一个大于栈顶(的栈顶右边)元素,形成一个
tuple
- 此处是放到
unordered_map
中来
- 将栈顶元素和第一个大于栈顶(的栈顶右边)元素,形成一个
- 当前元素进栈
- 当数组中所有元素遍历完之后,将栈中元素依次弹出
- 遍历存放
tuple
的容器
总结
这是一个很经典的单调栈题。
Reference
https://leetcode-cn.com/problems/next-greater-element-i/solution/xia-yi-ge-geng-da-yuan-su-i-by-leetcode/