力扣-单调栈与单调队列问题

单调栈:

1.402. 移掉K位数字:需要注意边界情况,去除完无字符返回”“,判断时不能有=号,栈内应该是不严格递增的。

2.316. 去除重复字母:需要借助哈希表来统计出现次数,并且标记是否已经存在于栈内。

3.84. 柱状图中最大的矩形,挺难的,针对每一个柱需要确定左右比它低的作为边界,正向遍历单调栈确定左边界,单调递增栈,存储下标,单调递增,left是栈顶元素;倒序遍历确定右边界

4.42. 接雨水,挺难的,非严格递减栈,入栈之后的上一个元素就是它的左边界,出栈的条件是当前元素比它小,将 栈顶元素弹出时计算,左边界为上一个元5.素,右边界为更小的元素。

5.739. 每日温度,栈内存储index下标。

 

单调队列:

1.239. 滑动窗口最大值,单调队列是头出。

2.剑指 Offer 59 - II. 队列的最大值,单调队列要用deque,并且有新元素时要从尾部开始比较弹出小于它的,然后push进去才能形成递减的队列。

 

posted @ 2020-12-22 14:04  lypbendlf  阅读(175)  评论(1编辑  收藏  举报