=0; i<arr.length; i++) {
while(!...示例:
输入: [2,1,5,6,2,3]
输出: 10
我下面给出的解法比官方题解还要简洁,注意栈中存的是索引而不是元素,因为要作为宽度计算面积:
# 递增栈
# 每次遇到非递增元素 可以计算一次面积...If it doesn’t exist, output -1 for this number....: [1,2,1]
Output: [2,-1,2]
Explanation: The first 1’s next greater number is 2;
The number 2 can’t...递减栈保存了比当前元素更大的元素 如果当前元素最大 则递减栈为空
// 从右向左构造递减栈相当于从左向右找下一个最大的数 如果这个方向找不到可能要尝试从右向左找
// 但循环数组是一个痛点
// 联系到循环队列的数组实现是使用模运算来实现循环的