贪心算法
贪心算法每一步都选当下看起来最好的选项,而且不回头。真正费劲的是说服自己这个局部选择不会出错,所以贪心题往往代码很短,却很难确定它是对的。
八个章节依次是通用贪心策略、区间调度、字符串贪心、数学贪心、构造与脑筋急转弯、构造题、交互题,以及综合贪心。适合已经能应付中等数组题、想练出“为什么这样贪是对的”这种判断力的人。
254 道题难度分 1148–30778 章节
进入书房
想有人陪你把这份题单做完吗?登录后进入书房,女主角会一次递给你一道题。
一、Greedy Strategy
§1.1 从最小/最大开始Greedy
§1.2 单序列配对
| 题目 | 难度分 |
|---|---|
| 2144. 打折购买糖果的最小开销 | 1261 |
| 561. 数组拆分 | 1300 |
| 1877. 数组中最大数对和的最小值 | 1301 |
| 881. 救生艇 | 1530 |
| 2592. 最大化数组的伟大值 | 1569 |
§1.3 双序列配对
| 题目 | 难度分 |
|---|---|
| 2037. 使每位学生都有座位的最少移动次数 | 1357 |
| 455. 分发饼干 | 1381 |
| 2410. 运动员和训练师的最大匹配数 | 1381 |
| 1433. 检查一个字符串是否可以打破另一个字符串 | 1436 |
| 870. 优势洗牌 | 1648 |
| 826. 安排工作以达到最大收益 | 1709 |
| 2449. 使数组相似的最少操作次数 | 2076 |
| 1889. 装包裹的最小浪费空间 | 2214 |
| 2561. 重排水果 | 2222 |
§1.4 从最左/最右开始Greedy
§1.5 Partition Greedy
| 题目 | 难度分 |
|---|---|
| 1221. 分割平衡字符串 | 1220 |
| 2405. 子字符串的最优划分 | 1355 |
| 2294. 划分数组使最大差为 K | 1416 |
| 2358. 分组的最大数量 | 1503 |
| 2522. 将字符串分割成值不超过 K 的子字符串 | 1605 |
| 3557. 不相交子字符串的最大数量 | 1720 |
§1.6 先枚举,再Greedy
| 题目 | 难度分 |
|---|---|
| 2171. 拿出最少数目的魔法豆 | 1748 |
| 3085. 成为 K 特殊字符串需要删除的最少字符数 | 1765 |
| 1727. 重新排列后的最大子矩阵 | 1927 |
| 2910. 合法分组的最少组数 | 2132 |
| 2234. 花园的最大总美丽值 | 2562 |
§1.7 Exchange Argument
| 题目 | 难度分 |
|---|---|
| 2895. 最小处理时间 | 1352 |
| 3457. 吃披萨 | 1704 |
| 1665. 完成所有任务的最少初始能量 | 1901 |
| 3273. 对 Bob 造成的最少伤害 | 2013 |
| 2136. 全部开花的最早一天 | 2033 |
| 2561. 重排水果 | 2222 |
§1.8 相邻不同
| 题目 | 难度分 |
|---|---|
| 2335. 装满杯子需要的最短总时长 | 1360 |
| 3659. 数组元素分组 | 1440 |
| 1753. 移除石子的最大得分 | 1488 |
| 2856. 删除数对后的最小数组长度 | 1750 |
| 1953. 你可以工作的最大周数 | 1804 |
| 3664. 两个字母卡牌游戏 | 2158 |
| 3495. 使数组元素都变为零的最少操作次数 | 2206 |
| 3139. 使数组中所有元素相等的最小开销 | 2666 |
二、Interval Greedy
§2.1 不相交区间
| 题目 | 难度分 |
|---|---|
| 435. 无重叠区间 | 1700 |
| 646. 最长数对链 | 未评分 |
| 1520. 最多的不重叠子字符串 | 2363 |
| 3458. 选择 K 个互不重叠的特殊子字符串 | 未评分 |
§2.3 区间选点
| 题目 | 难度分 |
|---|---|
| 452. 用最少数量的箭引爆气球 | 1700 |
| 757. 设置交集大小至少为2 | 2379 |
§2.4 区间覆盖
| 题目 | 难度分 |
|---|---|
| 45. 跳跃游戏 II | 1700 |
| 1024. 视频拼接 | 1746 |
| 1326. 灌溉花园的最少水龙头数目 | 1885 |
§2.5 合并区间
| 题目 | 难度分 |
|---|---|
| 56. 合并区间 | 未评分 |
| 57. 插入区间 | 未评分 |
| 55. 跳跃游戏 | 未评分 |
| 763. 划分字母区间 | 1443 |
| 3169. 无需开会的工作日 | 1483 |
| 2580. 统计将重叠区间合并成组的方案数 | 1632 |
| 3394. 判断网格图能否被切割成块 | 1916 |
§2.6 其他Interval Greedy
| 题目 | 难度分 |
|---|---|
| 1288. 删除被覆盖区间 | 未评分 |
三、String Greedy
§3.1 字典序最小/最大
§3.2 Palindrome Greedy
| 题目 | 难度分 |
|---|---|
| 409. 最长回文串 | 1250 |
| 2697. 字典序最小回文串 | 1304 |
| 3517. 最小回文排列 I | 1357 |
| 680. 验证回文串 II | 1400 |
| 1328. 破坏回文串 | 1474 |
| 1400. 构造 K 个回文字符串 | 1530 |
| 2131. 连接两字母单词得到的最长回文串 | 1557 |
| 2384. 最大回文数字 | 1636 |
| 3035. 回文字符串的最大数量 | 1857 |
| 1616. 分割两个字符串得到回文串 | 1868 |
| 1147. 段式回文 | 1912 |
| 3734. 大于目标字符串的最小字典序回文排列 | 2330 |
四、Math Greedy
§4.1 基础
| 题目 | 难度分 |
|---|---|
| 2160. 拆分数位后四位数字的最小和 | 1314 |
| 2578. 最小和分割 | 1351 |
| 2244. 完成所有任务需要的最少轮数 | 1372 |
| 2870. 使数组为空的最少操作次数 | 1392 |
| 1217. 玩筹码 | 1408 |
§4.2 Product Greedy
| 题目 | 难度分 |
|---|---|
| 628. 三个数的最大乘积 | 未评分 |
| 3732. 一次替换后的三元素最大乘积 | 1529 |
§4.3 排序不等式
| 题目 | 难度分 |
|---|---|
| 2285. 道路的最大总重要性 | 1496 |
| 3016. 输入单词需要的最少按键次数 II | 1534 |
| 1402. 做菜顺序 | 1679 |
§4.4 均值不等式
| 题目 | 难度分 |
|---|---|
| 1969. 数组元素的最小非零乘积 | 1967 |
| 3723. 数位平方和的最大值 | 1537 |
§4.5 Median Greedy
| 题目 | 难度分 |
|---|---|
| 462. 最小操作次数使数组元素相等 II | 未评分 |
| 2033. 获取单值网格的最小操作数 | 1672 |
| 2448. 使数组相等的最小开销 | 2005 |
§4.6 归纳法
| 题目 | 难度分 |
|---|---|
| 2952. 需要添加的硬币的最小数量 | 1784 |
| 330. 按要求补齐数组 | 未评分 |
| 1798. 你能构造出连续值的最大数目 | 1931 |
§4.7 其他Math Greedy
| 题目 | 难度分 |
|---|---|
| 3107. 使数组中位数等于 K 的最少操作数 | 1605 |
| 754. 到达终点数字 | 2000 |
五、思维题
§5.1 从特殊到一般
| 题目 | 难度分 |
|---|---|
| 2745. 构造最长的新字符串 | 1607 |
| 2611. 老鼠和奶酪 | 1663 |
| 1029. 两地调度 | 未评分 |
| 2645. 构造有效字符串的最少插入数 | 未评分 |
| 2202. K 次操作后最大化顶端元素 | 1717 |
| 1702. 修改后的最大二进制字符串 | 1825 |
| 2350. 不可能得到的最短骰子序列 | 1961 |
| 3660. 跳跃游戏 IX | 2187 |
| 517. 超级洗衣机 | 未评分 |
| 2499. 让数组不相等的最小总代价 | 2633 |
| 3357. 最小化相邻元素的最大差值 | 3077 |
§5.2 脑筋急转弯
| 题目 | 难度分 |
|---|---|
| 2733. 既不是最小值也不是最大值 | 1148 |
| 3432. 统计元素和差值为偶数的分区方案 | 1200 |
| 1903. 字符串中的最大奇数 | 1249 |
| 2549. 统计桌面上的不同数字 | 1266 |
| 1689. 十-二进制数的最少数目 | 1355 |
| 3674. 数组元素相等的最小操作次数 | 1369 |
| 3689. 最大子数组总值 I | 1371 |
| 598. 区间加法 II | 1400 |
| 521. 最长特殊序列 Ⅰ | 1400 |
| 3675. 转换字符串的最小操作次数 | 1414 |
| 3638. 平衡装运的最大数量 | 1463 |
| 3702. 按位异或非零的最长子序列 | 1489 |
| 3424. 将数组变相同的最小代价 | 1503 |
| 1992. 找到所有的农场组 | 1539 |
| 1007. 行相等的最少多米诺旋转 | 1541 |
| 2811. 判断是否能拆分数组 | 1543 |
| 463. 岛屿的周长 | 未评分 |
| 2211. 统计道路上的碰撞次数 | 1581 |
| 3207. 与敌人战斗后的最大分数 | 1591 |
| 3471. 找出最大的几近缺失整数 | 未评分 |
| 1503. 所有蚂蚁掉下来前的最后一刻 | 1619 |
| 2860. 让所有学生保持开心的分组方法数 | 1626 |
| 1332. 删除回文子序列 | 1629 |
| 1975. 最大方阵和 | 1648 |
| 1145. 二叉树着色游戏 | 1741 |
| 1297. 子串的最大出现次数 | 1748 |
| 3577. 统计计算机解锁顺序排列数 | 1750 |
| 3282. 到达数组末尾的最大得分 | 1772 |
| 2712. 使所有字符相等的最小成本 | 1791 |
| 2311. 小于等于 K 的最长二进制子序列 | 1840 |
| 2332. 坐上公交的最晚时间 | 1841 |
| 2731. 移动机器人 | 1923 |
| 2556. 二进制矩阵中翻转最多一次使路径不连通 | 2369 |
§5.3 逆向思维
| 题目 | 难度分 |
|---|---|
| 2139. 得到目标值的最少行动次数 | 1417 |
| 869. 重新排序得到 2 的幂 | 1505 |
| 554. 砖墙 | 1700 |
| 780. 到达终点 | 1897 |
| 417. 太平洋大西洋水流问题 | 1900 |
| 2227. 加密解密字符串 | 1945 |
| 3614. 用特殊操作处理字符串 II | 未评分 |
| 3609. 到达目标点的最小移动次数 | 2419 |
| 936. 戳印序列 | 2583 |
§5.4 等价转换
六、构造题
§6.1 构造题
| 题目 | 难度分 |
|---|---|
| 1304. 和为零的 N 个不同整数 | 1167 |
| 942. 增减字符串匹配 | 1444 |
| 1253. 重构 2 行二进制矩阵 | 1506 |
| 3513. 不同 XOR 三元组的数目 I | 1663 |
| 2182. 构造限制重复的字符串 | 1680 |
| 969. 煎饼排序 | 未评分 |
| 1605. 给定行和列的和求可行矩阵 | 1868 |
| 2375. 根据模式串构造最小数字 | 未评分 |
| 324. 摆动排序 II | 未评分 |
| 667. 优美的排列 II | 未评分 |
| 2122. 还原原数组 | 2159 |
| 932. 漂亮数组 | 未评分 |
| 3311. 构造符合图结构的二维矩阵 | 2664 |
| 2573. 找出对应 LCP 矩阵的字符串 | 2682 |
| 1982. 从子集的和还原数组 | 2872 |
| 1980. 找出不同的二进制字符串 | 未评分 |
七、交互题
七、交互题
| 题目 | 难度分 |
|---|---|
| 1237. 找出给定方程的正整数解 | 未评分 |
| 843. 猜猜这个单词 | 2078 |
八、其他
八、其他
| 题目 | 难度分 |
|---|---|
| 2740. 找出分区值 | 1302 |
| 1033. 移动石子直到连续 | 1421 |
| 3523. 非递减数组的最大长度 | 1435 |
| 781. 森林中的兔子 | 1453 |
| 3587. 最小相邻交换至奇偶交替 | 1548 |
| 1864. 构成交替字符串需要的最小交换次数 | 1601 |
| 1899. 合并若干三元组以形成目标三元组 | 1636 |
| 2498. 青蛙过河 II | 1759 |
| 3724. 转换数组的最少操作次数 | 1790 |
| 134. 加油站 | 未评分 |
| 3635. 最早完成陆地和水上游乐设施的时间 II | 1870 |
| 3002. 移除后集合的最多元素数 | 1917 |
| 1733. 需要教语言的最少人数 | 1984 |
| 659. 分割数组为连续子序列 | 未评分 |
| 2790. 长度递增组的最大数目 | 2620 |
| 782. 变为棋盘 | 未评分 |
路线把这份题单排在“位运算”和“数学”之间;已经练过的章或节,可以单独勾选标记为之前做过。
难度分来自 zerotrac 的 LeetCode 竞赛评分。部分题目没有 zerotrac 分数,会标记为“未评分”。
进入书房