单调栈
单调栈让栈里的元素保持递增或递减,破坏顺序的元素就出栈。每次出栈都能得到一条信息,通常是出栈那个值的下一个更大或更小元素,“每日温度”就是典型例子。
这份题单只有四章、35 道题,篇幅偏短。从基础单调栈开始,接着是“柱状图中最大的矩形”这一类题,再用贡献法求所有子数组的和,最后是构造字典序最小的结果。适合懂原理、但一碰到柱状图题就卡壳的人。
35 道题难度分 1300–26454 章节
进入书房
想有人陪你把这份题单做完吗?登录后进入书房,女主角会一次递给你一道题。
一、Monotonic Stack
§1.1 基础
| 题目 | 难度分 |
|---|---|
| 739. 每日温度 | 1700 |
| 1475. 商品折扣后的最终价格 | 1300 |
| 496. 下一个更大元素 I | 1400 |
| 503. 下一个更大元素 II | 1500 |
| 901. 股票价格跨度 | 1709 |
| 853. 车队 | 1600 |
§1.2 进阶(选做)
| 题目 | 难度分 |
|---|---|
| 1019. 链表中的下一个更大节点 | 1571 |
| 768. 最多能完成排序的块 II | 1788 |
| 654. 最大二叉树 | 1600 |
| 456. 132 模式 | 2000 |
| 3113. 边界元素是最大值的子数组数目 | 2046 |
| 2866. 美丽塔 II | 2072 |
| 1944. 队列中可以看到的人数 | 2105 |
| 2454. 下一个更大元素 IV | 2175 |
| 1130. 叶值的最小代价生成树 | 1800 |
| 2289. 使数组按非递减顺序排列 | 2482 |
| 1776. 车队 II | 2531 |
| 2736. 最大和查询 | 2533 |
二、矩形
二、矩形
| 题目 | 难度分 |
|---|---|
| 84. 柱状图中最大的矩形 | 1900 |
| 85. 最大矩形 | 2100 |
| 221. 最大正方形 | 1800 |
| 1504. 统计全 1 子矩形 | 1700 |
| 1277. 统计全为 1 的正方形子矩阵 | 1600 |
三、贡献法
三、贡献法
| 题目 | 难度分 |
|---|---|
| 907. 子数组的最小值之和 | 1976 |
| 2104. 子数组范围和(最大值-最小值) | 2000 |
| 1856. 子数组最小乘积的最大值 | 2051 |
| 2818. 操作使得分最大 | 2397 |
| 2281. 巫师的总力量和 | 2621 |
| 3430. 最多 K 个元素的子数组的最值之和 | 2645 |
四、最小字典序
四、最小字典序
| 题目 | 难度分 |
|---|---|
| 402. 移掉 K 位数字 | 1800 |
| 1673. 找出最具竞争力的子序列 | 1802 |
| 316. 去除重复字母 | 2185 |
| 1081. 不同字符的最小子序列 | 2185 |
| 321. 拼接最大数 | 2300 |
| 2030. 含特定字母的最小子序列 | 2562 |
这是阶段一的第三份题单;如果你已经熟悉这个题型,签订学习契约时把它标记为“之前做过”,路线就会直接跳过。
难度分来自 zerotrac 的 LeetCode 竞赛评分。部分题目没有 zerotrac 分数,会标记为“未评分”。
进入书房