算法-栈-最小栈-单调栈

First In First Out

通常可以用来保存状态。

操作:入栈,出栈,获取顶部元素

典型题目:

1. 有效的括号

如果栈里没有匹配的括号,则将此括号入栈;

如果栈里有匹配的括号,则将匹配的括号出栈。

匹配的过程用查表法(哈希)。

 

2. 最小栈-单调栈

最小栈一般用来求:下个更大的元素在哪里

需要用到一个辅助栈MinStack记录min,跟原始栈保持同步的push和pop。

push时,push值,以及跟MinStack中的top比较,push其中的最小值到minStack

pop时,同时pop

获取最小值,取MinStack得top。

 

经典题目 :

1. 每日温度

2. 下一个更大元素I

3. 股票价格跨度

4. 接雨水

5. 柱状图中的最大的矩形

posted @ 2021-08-28 14:45  xuyv  阅读(66)  评论(0编辑  收藏  举报