单调栈是为了维持单调,当入栈元素依次都是单调的时候,就…就无事发生
重点来了,当发生了单调性变化的时候,为了维持单调,我们就要把比当前x大的元素都挪出去,直到他单调,挪的过程就是我们平面上画图,往左看往右看找最小,最大的过程,当他单调时,他前面那个数不就正好是第一个比他小/大的数吗,因为比他大都出去了,这个都出去了的过程就是我们拿笔在纸上画,一个一个划掉不符合规则的过程
这个事情能拿来干什么,某种大小匹配和某种单调
具体步骤见下
https://www.youtube.com/embed/0g1UW6B8oGY
更详细的见下