单调栈
单调栈本质上也是栈,栈(stack)是很经典的一种数据结构,具有先进先出的逻辑特点。单调栈是栈的一种应用,主要特点就是栈中存放的数据要么递增要么递减。主要分为单调递增栈和单调递减栈两种
- 单调递增栈就是从栈底到栈顶是从大到小
- 单调递减栈就是从栈底到栈顶是从小到大
单调栈主要解决一种名为Next Greater Element的典型问题,在LeetCode中有一类题目就属于这种
496. 下一个更大元素 I : 入门题目,单调栈的基础应用
739. 每日温度 :经典入门
503. 下一个更大元素 II :单调栈问题升级为环形问题
84. 柱状图中最大的矩形 :难度增加
85. 最大矩形 :题意不好理解,难度较大
239. 滑动窗口最大值 : 单调队列的应用解法,需要理解
参考链接
- 本文作者: 半度微凉
- 本文链接: http://www.taoweidong.com/2020/08/10/Java数据结构和算法-单调栈学习记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!