朴素算法Bare Algo

单调栈

单调极值统计、接雨水及矩阵最大面积。

算法题

(13)

第 1 阶段:先把下一个更大元素模型练熟

从每日温度、下一个更大元素和股票价格跨度入手,理解单调栈为什么能把“向右找第一个满足条件的元素”降到线性。

739. 每日温度

中等
栈数组单调栈

496. 下一个更大元素 I

简单
栈数组哈希表单调栈

503. 下一个更大元素 II

中等
栈数组单调栈

901. 股票价格跨度

中等
栈设计数据流单调栈

第 2 阶段:结合贪心和双指针理解结构变化

这一阶段开始处理删数、去重、接雨水和 132 模式,重点是栈中保存的不是答案,而是未来决策需要的结构信息。

402. 移掉 K 位数字

中等
栈贪心字符串单调栈

316. 去除重复字母

中等
栈字符串贪心单调栈

42. 接雨水

困难
数组双指针动态规划栈单调栈

456. 132 模式

中等
栈数组二分查找单调栈

第 3 阶段:掌握贡献法与面积类高频题

最后进入柱状图、子数组最小值之和、区间范围和与最小乘积这类题,核心是把每个元素对答案的贡献拆开计算。

84. 柱状图中最大的矩形

困难
栈数组单调栈

85. 最大矩形

困难
栈数组动态规划矩阵单调栈

907. 子数组的最小值之和

中等
栈数组动态规划单调栈

2104. 子数组范围和

中等
栈数组单调栈

1856. 子数组最小乘积的最大值

中等
栈数组前缀和单调栈