每周一篇的算法文章来了
今天讲解的是高级数据结构中的——单调栈
单调栈,顾名思义,就是升级版的栈()
先回顾一下栈把
栈,是一种线性表,它的特点是只能从一边进出,并且先进后出,后进先出。就想枪的弹夹一样。
而单调栈,跟他有一点不同
单调栈,每时每刻都要保持栈中呈现单调递增或单调递减
但是,有一个问题:
还是举个栗子
如果把6,7,12,3,1,8依次入栈,那么就会呈现这种样子
怎么看,他都不是单调递增或递减
那我们就要引入单调栈的方法了
一.单调递增栈
单调递增栈中的单调递增,指的是依次出栈的数据呈单调递增
就比如
在出栈时,顺序为1,2,3,4,5,6
回到刚才的栗子