维护一个单调的栈,比如 当前栈 为 [10,20,30,40,50] ,这个时候加入 35 ,那么就干掉前面的,
变成 [35, 40, 50]。

应用

求当前数组中,下一个比当前元素大的元素,比如
单调栈 - 图1
对应的就是
单调栈 - 图2
可以利用单调栈,从后面的元素开始入栈,然后比较栈顶和当前元素。

例子

leetcode 456

132模式:查找数组中满足 a[i] < a[k] < a[j] 序列,i < j < k
使用单调栈保存所有可能为 2 的数字,堆栈严格递减,被移除的最大值为 max_k