貪心演算法
貪心演算法每一步都挑當下看起來最好的選擇,而且不回頭。真正費工夫的是說服自己這個局部選擇不會出錯,所以貪心題往往程式碼很短,卻很難確定它是對的。
八個章節依序是一般貪心策略、區間排程、字串貪心、數學貪心、構造與腦筋急轉彎、構造題、互動題,以及綜合貪心。適合已經能處理中等陣列題、想練出「為什麼這樣貪是對的」這種判斷力的人。
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 分數,會標示為「未評分」。
進入書房