LeetCode 題目 — 按主題分類¶
1. 排序與選擇 (Sorting & Selection)¶
| LeetCode | 題目名稱 | 難度 | 相關演算法 |
|---|---|---|---|
| 215 | Kth Largest Element in an Array | Medium | Quick Select |
| 347 | Top K Frequent Elements | Medium | Heap / Quick Select |
| 703 | Kth Largest Element in a Stream | Easy | Min Heap |
| 912 | Sort an Array | Medium | Quick Sort / Merge Sort |
2. 動態規劃 (Dynamic Programming)¶
| LeetCode | 題目名稱 | 難度 | DP 類型 |
|---|---|---|---|
| 72 | Edit Distance | Medium | 序列比對 |
| 1143 | Longest Common Subsequence | Medium | 序列比對 |
| 583 | Delete Operation for Two Strings | Medium | 序列比對 |
| 329 | Longest Increasing Path in a Matrix | Hard | 矩陣 DP |
| 410 | Split Array Largest Sum | Hard | 分段 DP / 二分 |
| 1011 | Capacity To Ship Packages | Medium | 二分搜尋 |
| 416 | Partition Equal Subset Sum | Medium | 背包 DP |
| 494 | Target Sum | Medium | 背包 DP |
| 322 | Coin Change | Medium | 完全背包 |
| 518 | Coin Change II | Medium | 完全背包 |
| 1039 | Minimum Score Triangulation of Polygon | Medium | 區間 DP |
| 312 | Burst Balloons | Hard | 區間 DP |
| 337 | House Robber III | Medium | 樹形 DP |
| 968 | Binary Tree Cameras | Hard | 樹形 DP |
| 834 | Sum of Distances in Tree | Hard | 換根 DP |
3. 樹結構 (Tree)¶
| LeetCode | 題目名稱 | 難度 | 相關概念 |
|---|---|---|---|
| 104 | Maximum Depth of Binary Tree | Easy | DFS |
| 111 | Minimum Depth of Binary Tree | Easy | BFS/DFS |
| 98 | Validate Binary Search Tree | Medium | BST 性質 |
| 230 | Kth Smallest Element in a BST | Medium | BST 中序 |
| 285 | Inorder Successor in BST | Medium | BST Successor |
| 110 | Balanced Binary Tree | Easy | AVL 概念 |
| 617 | Merge Two Binary Trees | Easy | 樹合併 |
| 654 | Maximum Binary Tree | Medium | Max Binary Tree |
| 144 | Binary Tree Preorder Traversal | Easy | 前序遍歷 |
| 145 | Binary Tree Postorder Traversal | Easy | 後序遍歷 |
| 102 | Binary Tree Level Order Traversal | Medium | BFS 層序 |
4. 圖論演算法 (Graph)¶
| LeetCode | 題目名稱 | 難度 | 相關演算法 |
|---|---|---|---|
| 743 | Network Delay Time | Medium | Dijkstra |
| 787 | Cheapest Flights Within K Stops | Medium | Bellman-Ford |
| 1631 | Path With Minimum Effort | Medium | Dijkstra 變體 |
| 1584 | Min Cost to Connect All Points | Medium | Prim / Kruskal |
| 1135 | Connecting Cities With Minimum Cost | Medium | MST |
| 207 | Course Schedule | Medium | 拓撲排序 |
| 210 | Course Schedule II | Medium | 拓撲排序 |
| 1857 | Largest Color Value in a Directed Graph | Hard | DAG DP |
5. 堆積與優先佇列 (Heap & Priority Queue)¶
| LeetCode | 題目名稱 | 難度 | 應用場景 |
|---|---|---|---|
| 23 | Merge k Sorted Lists | Hard | K 路合併 |
| 378 | Kth Smallest Element in a Sorted Matrix | Medium | 矩陣搜尋 |
| 295 | Find Median from Data Stream | Hard | 雙堆找中位數 |
| 703 | Kth Largest Element in a Stream | Easy | Top K |
| 347 | Top K Frequent Elements | Medium | Top K |
6. 字串演算法 (String)¶
| LeetCode | 題目名稱 | 難度 | 相關演算法 |
|---|---|---|---|
| 28 | Find the Index of the First Occurrence | Easy | KMP |
| 214 | Shortest Palindrome | Hard | KMP |
| 459 | Repeated Substring Pattern | Easy | KMP |
| 72 | Edit Distance | Medium | DP |
7. 棧與表達式 (Stack & Expression)¶
| LeetCode | 題目名稱 | 難度 | 應用場景 |
|---|---|---|---|
| 150 | Evaluate Reverse Polish Notation | Medium | 後綴求值 |
| 224 | Basic Calculator | Hard | 中綴求值 |
| 227 | Basic Calculator II | Medium | 中綴求值 |
| 232 | Implement Queue using Stacks | Easy | 資料結構設計 |
| 225 | Implement Stack using Queues | Easy | 資料結構設計 |
8. 雜湊表 (Hash Table)¶
| LeetCode | 題目名稱 | 難度 | 相關概念 |
|---|---|---|---|
| 705 | Design HashSet | Easy | Hash 設計 |
| 706 | Design HashMap | Easy | Hash 設計 |
| 169 | Majority Element | Easy | Boyer-Moore |
| 229 | Majority Element II | Medium | Boyer-Moore |
9. 回溯與搜尋 (Backtracking)¶
| LeetCode | 題目名稱 | 難度 | 應用場景 |
|---|---|---|---|
| 51 | N-Queens | Hard | 經典回溯 |
| 52 | N-Queens II | Hard | 回溯計數 |
| 37 | Sudoku Solver | Hard | 回溯 |
10. 鏈表 (Linked List)¶
| LeetCode | 題目名稱 | 難度 | 相關操作 |
|---|---|---|---|
| 707 | Design Linked List | Medium | 鏈表設計 |
| 21 | Merge Two Sorted Lists | Easy | 合併 |
| 23 | Merge k Sorted Lists | Hard | K 路合併 |