NeetCode 250 面試題單
NeetCode 250 將 NeetCode 150 擴充為 250 題,同樣分為 18 個主題。每個主題前面多了更平易近人的基礎熱身題,後面則補上常考的進階變化題;如果覺得 NeetCode 150 難度跳太快,這份題單的坡度會平順許多。
NeetCode 150 的所有題目都包含在 NeetCode 250 之中,你在 Dokicode 任何題單解過的題目都會自動跨題單同步。
250 題難度分 1161–286318 主題
進入書房
想要有人陪你寫完這份題單嗎?登入後進入書房,女主角會一次拿一道題目給你。
陣列與 Hashing
| 題目 | 難度 / 評分 |
|---|---|
| 1929. 陣列串聯 | Easy |
| 217. 存在重複元素 | Easy |
| 242. 有效的字母異位詞 | Easy |
| 1. 兩數之和 | 1161 |
| 14. 最長公共字首 | Easy |
| 49. 字母異位詞分組 | Medium |
| 27. 移除元素 | 1263 |
| 169. 多數元素 | Easy |
| 705. 設計雜湊集合 | Easy |
| 706. 設計雜湊映射 | Easy |
| 912. 排序陣列 | Medium |
| 75. 顏色分類 | 1263 |
| 347. 前 K 個高頻元素 | Medium |
| 271. 字串的編碼與解碼 LeetCode Premium(選做) | Medium |
| 304. 二維區域和檢索 - 矩陣不可變 | 1484 |
| 238. 除自身以外陣列的乘積 | Medium |
| 36. 有效的數獨 | Medium |
| 128. 最長連續序列 | Medium |
| 122. 買賣股票的最佳時機 II | Medium |
| 229. 多數元素 II | Medium |
| 560. 和為 K 的子陣列 | 1592 |
| 41. 缺失的第一個正數 | Hard |
Two Pointers
| 題目 | 難度 / 評分 |
|---|---|
| 344. 反轉字串 | 1263 |
| 125. 驗證迴文串 | 1263 |
| 680. 驗證迴文串 II | 1400 |
| 1768. 交替合併字串 | Easy |
| 88. 合併兩個有序陣列 | 1315 |
| 26. 刪除有序陣列中的重複項 | 1263 |
| 167. 兩數之和 II - 輸入有序陣列 | 1263 |
| 15. 三數之和 | 1263 |
| 18. 四數之和 | 1263 |
| 189. 輪轉陣列 | Medium |
| 11. 盛最多水的容器 | 1263 |
| 881. 救生艇 | 1530 |
| 42. 接雨水 | 1263 |
Sliding Window
| 題目 | 難度 / 評分 |
|---|---|
| 219. 存在重複元素 II | 1365 |
| 121. 買賣股票的最佳時機 | Easy |
| 3. 無重複字元的最長子串 | 1263 |
| 424. 替換後的最長重複字元 | 1787 |
| 567. 字串的排列 | 2006 |
| 209. 長度最小的子陣列 | 1263 |
| 658. 找到 K 個最接近的元素 | 1263 |
| 76. 最小覆蓋子串 | 1592 |
| 239. 滑動視窗最大值 | 1851 |
Stack
| 題目 | 難度 / 評分 |
|---|---|
| 682. 棒球比賽 | 1228 |
| 20. 有效的括號 | 1242 |
| 225. 用佇列實現堆疊 | 1851 |
| 232. 用堆疊實現佇列 | 1851 |
| 155. 最小堆疊 | 1772 |
| 150. 逆波蘭表示式求值 | 1408 |
| 22. 括號生成 | Medium |
| 735. 小行星碰撞 | 2057 |
| 739. 每日溫度 | 1700 |
| 901. 股票價格跨度 | 1709 |
| 853. 車隊 | 1600 |
| 71. 簡化路徑 | 1578 |
| 394. 字串解碼 | 1408 |
| 895. 最大頻率堆疊 | 2028 |
| 84. 柱狀圖中最大的矩形 | 1900 |
Binary Search
| 題目 | 難度 / 評分 |
|---|---|
| 704. 二分搜尋 | Easy |
| 35. 搜尋插入位置 | Easy |
| 374. 猜數字大小 | Easy |
| 69. x 的平方根 | Easy |
| 74. 搜尋二維矩陣 | Medium |
| 875. 愛吃香蕉的珂珂 | 1766 |
| 1011. 在 D 天內送達包裹的能力 | 1725 |
| 153. 尋找旋轉排序陣列中的最小值 | Medium |
| 33. 搜尋旋轉排序陣列 | Medium |
| 81. 搜尋旋轉排序陣列 II | Medium |
| 981. 基於時間的鍵值儲存 | Medium |
| 410. 分割陣列的最大值 | Hard |
| 4. 尋找兩個正序陣列的中位數 | Hard |
| 1095. 山脈陣列中查詢目標值 | 1827 |
Linked List
| 題目 | 難度 / 評分 |
|---|---|
| 206. 反轉連結串列 | Easy |
| 21. 合併兩個有序連結串列 | Easy |
| 141. 環形連結串列 | Easy |
| 143. 重排連結串列 | Medium |
| 19. 刪除連結串列的倒數第 N 個結點 | Medium |
| 138. 隨機連結串列的複製 | Medium |
| 2. 兩數相加 | Medium |
| 287. 尋找重複數 | Medium |
| 92. 反轉連結串列 II | Medium |
| 622. 設計迴圈佇列 | 1851 |
| 146. LRU 快取 | 2863 |
| 460. LFU 快取 | 2863 |
| 23. 合併 K 個升序連結串列 | 1818 |
| 25. K 個一組翻轉連結串列 | Hard |
樹
| 題目 | 難度 / 評分 |
|---|---|
| 94. 二元樹的中序遍歷 | Easy |
| 144. 二元樹的前序遍歷 | Easy |
| 145. 二元樹的後序遍歷 | Easy |
| 226. 翻轉二元樹 | Easy |
| 104. 二元樹的最大深度 | Easy |
| 543. 二元樹的直徑 | Easy |
| 110. 平衡二元樹 | Easy |
| 100. 相同的樹 | Easy |
| 572. 另一棵樹的子樹 | Easy |
| 235. 二元搜尋樹的最近公共祖先 | Medium |
| 701. 二元搜尋樹中的插入操作 | Medium |
| 450. 刪除二元搜尋樹中的節點 | Medium |
| 102. 二元樹的層序遍歷 | Medium |
| 199. 二元樹的右檢視 | Medium |
| 427. 建立四叉樹 | Medium |
| 1448. 統計二元樹中好節點的數目 | 1360 |
| 98. 驗證二元搜尋樹 | Medium |
| 230. 二元搜尋樹中第 K 小的元素 | Medium |
| 105. 從前序與中序遍歷序列構造二元樹 | Medium |
| 337. 打家劫舍 III | Medium |
| 1325. 刪除給定值的葉子節點 | 1407 |
| 124. 二元樹中的最大路徑和 | Hard |
| 297. 二元樹的序列化與反序列化 | Hard |
Heap
| 題目 | 難度 / 評分 |
|---|---|
| 703. 資料流中的第 K 大元素 | 1419 |
| 1046. 最後一塊石頭的重量 | 1173 |
| 973. 最接近原點的 K 個點 | Medium |
| 215. 陣列中的第K個最大元素 | Medium |
| 621. 任務排程器 | 1905 |
| 355. 設計推特 | 1822 |
| 1834. 單執行緒 CPU | 1798 |
| 767. 重構字串 | 1681 |
| 1405. 最長快樂字串 | 1821 |
| 1094. 拼車 | 1441 |
| 295. 資料流的中位數 | 2159 |
| 502. IPO | 1822 |
Backtracking
| 題目 | 難度 / 評分 |
|---|---|
| 1863. 找出所有子集的異或總和再求和 | 1372 |
| 78. 子集 | Medium |
| 39. 組合總和 | Medium |
| 40. 組合總和 II | Medium |
| 77. 組合 | Medium |
| 46. 全排列 | Medium |
| 90. 子集 II | Medium |
| 47. 全排列 II | Medium |
| 79. 單詞搜尋 | Medium |
| 131. 分割回文串 | Medium |
| 17. 電話號碼的字母組合 | Medium |
| 473. 火柴拼正方形 | Medium |
| 698. 劃分為k個相等的子集 | Medium |
| 51. N 皇后 | Hard |
| 52. N 皇后 II | Hard |
| 140. 單詞拆分 II | 1725 |
Trie
| 題目 | 難度 / 評分 |
|---|---|
| 208. 實現 Trie (字首樹) | 1180 |
| 211. 新增與搜尋單詞 - 資料結構設計 | 1725 |
| 2707. 字串中的額外字元 | 1736 |
| 212. 單詞搜尋 II | 1725 |
圖
| 題目 | 難度 / 評分 |
|---|---|
| 463. 島嶼的周長 | Easy |
| 953. 驗證外星語詞典 | Easy |
| 997. 找到小鎮的法官 | Easy |
| 200. 島嶼數量 | Medium |
| 695. 島嶼的最大面積 | Medium |
| 133. 複製圖 | Medium |
| 286. 牆與門 LeetCode Premium(選做) | Medium |
| 994. 腐爛的橘子 | Medium |
| 417. 太平洋大西洋水流問題 | 1900 |
| 130. 被圍繞的區域 | Medium |
| 752. 開啟轉盤鎖 | 1878 |
| 207. 課程表 | Medium |
| 210. 課程表 II | Medium |
| 261. 以圖判樹 LeetCode Premium(選做) | Medium |
| 1462. 課程表 IV | Medium |
| 323. 無向圖中連通分量的數目 LeetCode Premium(選做) | Medium |
| 684. 冗餘連線 | Medium |
| 721. 賬戶合併 | Medium |
| 399. 除法求值 | 1725 |
| 310. 最小高度樹 | Medium |
| 127. 單詞接龍 | Hard |
進階圖論
| 題目 | 難度 / 評分 |
|---|---|
| 1631. 最小體力消耗路徑 | 1948 |
| 743. 網路延遲時間 | Medium |
| 332. 重新安排行程 | Hard |
| 1584. 連線所有點的最小費用 | 1858 |
| 778. 水位上升的泳池中游泳 | 2097 |
| 269. 火星詞典 LeetCode Premium(選做) | Hard |
| 787. K 站中轉內最便宜的航班 | Medium |
| 1489. 找到最小生成樹裡的關鍵邊和偽關鍵邊 | 2572 |
| 2392. 給定條件下構造矩陣 | 1961 |
| 2709. 最大公約數遍歷 | 2172 |
一維 DP
| 題目 | 難度 / 評分 |
|---|---|
| 70. 爬樓梯 | Easy |
| 746. 使用最小花費爬樓梯 | 1500 |
| 1137. 第 N 個泰波那契數 | Easy |
| 198. 打家劫舍 | Medium |
| 213. 打家劫舍 II | Medium |
| 5. 最長迴文子串 | Medium |
| 647. 迴文子串 | Medium |
| 91. 解碼方法 | Medium |
| 322. 零錢兌換 | Medium |
| 152. 乘積最大子陣列 | Medium |
| 139. 單詞拆分 | Medium |
| 300. 最長遞增子序列 | Medium |
| 416. 分割等和子集 | Medium |
| 377. 組合總和 Ⅳ | 1600 |
| 279. 完全平方數 | Medium |
| 343. 整數拆分 | Medium |
| 1406. 石子遊戲 III | 2027 |
二維 DP
| 題目 | 難度 / 評分 |
|---|---|
| 62. 不同路徑 | Medium |
| 63. 不同路徑 II | Medium |
| 64. 最小路徑和 | Medium |
| 1143. 最長公共子序列 | Medium |
| 1049. 最後一塊石頭的重量 II | 2092 |
| 309. 買賣股票的最佳時機含冷凍期 | Medium |
| 518. 零錢兌換 II | Medium |
| 494. 目標和 | Medium |
| 97. 交錯字串 | Medium |
| 877. 石子遊戲 | 1590 |
| 1140. 石子遊戲 II | 2035 |
| 329. 矩陣中的最長遞增路徑 | Hard |
| 115. 不同的子序列 | Hard |
| 72. 編輯距離 | Medium |
| 312. 戳氣球 | Hard |
| 10. 正規表示式匹配 | Hard |
Greedy
| 題目 | 難度 / 評分 |
|---|---|
| 860. 檸檬水找零 | Easy |
| 53. 最大子陣列和 | Medium |
| 918. 環形子陣列的最大和 | 1777 |
| 978. 最長湍流子陣列 | 1393 |
| 55. 跳躍遊戲 | Medium |
| 45. 跳躍遊戲 II | 1700 |
| 1871. 跳躍遊戲 VII | 1896 |
| 134. 加油站 | Medium |
| 846. 一手順子 | Medium |
| 649. Dota2 參議院 | 1686 |
| 1899. 合併若干三元組以形成目標三元組 | 1636 |
| 763. 劃分字母區間 | 1443 |
| 678. 有效的括號字串 | 1700 |
| 135. 分發糖果 | 1263 |
區間
| 題目 | 難度 / 評分 |
|---|---|
| 57. 插入區間 | Medium |
| 56. 合併區間 | Medium |
| 435. 無重疊區間 | 1700 |
| 252. 會議室 LeetCode Premium(選做) | Easy |
| 253. 會議室 II LeetCode Premium(選做) | Medium |
| 2402. 會議室 III | 2093 |
| 1851. 包含每個查詢的最小區間 | 2286 |
數學與幾何
| 題目 | 難度 / 評分 |
|---|---|
| 168. Excel 表列名稱 | Easy |
| 1071. 字串的最大公因子 | 1398 |
| 2807. 在連結串列中插入最大公約數 | 1279 |
| 867. 轉置矩陣 | Easy |
| 48. 旋轉影像 | Medium |
| 54. 螺旋矩陣 | Medium |
| 73. 矩陣置零 | Medium |
| 202. 快樂數 | Easy |
| 66. 加一 | Easy |
| 13. 羅馬數字轉整數 | 1209 |
| 50. Pow(x, n) | Medium |
| 43. 字串相乘 | Medium |
| 2013. 檢測正方形 | Medium |
Bit Manipulation
| 題目 | 難度 / 評分 |
|---|---|
| 136. 只出現一次的數字 | Easy |
| 191. 位 1 的個數 | Easy |
| 338. 位元位計數 | Easy |
| 67. 二進位求和 | Easy |
| 190. 顛倒二進位位 | Easy |
| 268. 丟失的數字 | Easy |
| 371. 兩整數之和 | Medium |
| 7. 整數反轉 | Medium |
| 201. 數字範圍按位與 | Medium |
| 3133. 陣列最後一個元素的最小值 | 1935 |
適合備考時間充裕、想把 18 個演算法主題練得更紮實的人;隨時可在書房的「題單」抽屜與 NeetCode 150 自由切換。
難度分數來自 zerotrac 的 LeetCode 競賽評分;早期經典題沒有競賽評分,會顯示 LeetCode 官方難度。
進入書房