单调栈。
单调栈
判别是否需要使用单调栈,如果需要找到左边或者右边第一个比当前位置的数大或者小,则可以考虑使用单调栈;单调栈的题目如矩形米面积等等
来源739官解评论区
stack存数组的下标。
1 | Deque<Integer> stack = new LinkedList<Integer>(); |
思路是while(栈不空&&当前温度大于栈顶温度),计算ans[],栈顶出栈。
1 | int length = temperatures.length; |
496. 下一个更大元素 I 单调栈+哈希
503. 下一个更大元素 II 单调栈+循环数组