- 用途:Two Sum 系、字數統計、差值、前綴和、找 complement、記錄看過什麼。
- 建議:8~10 題(刷法:兩題 easy → 三題 medium → 一兩題 tricky)
- 重點:HashMap 真的不用刷多,重點是 pattern 要熟。
- Two Sum
- Subarray Sum Equals K
- Longest Substring Without Repeating Characters(HashMap + Sliding Window)
- Group Anagrams
- Valid Anagram
- 3Sum(HashMap + 排序思維)
- 4Sum(延伸即可,不強迫)
- 說明:一般後端工程師最常遇到的題目類型之一。
- 建議:8~12 題(Sliding Window 一開始會卡一下,但一熟就一路通)
- Longest Substring Without Repeating Characters(超必刷)
- Minimum Window Substring(經典大題)
- Two Sum II(排序後)
- 3Sum(真實考試超常出)
- Trapping Rain Water(高階,但很重要)
- Container With Most Water(pattern 很明顯)
- 說明:你不用刷很多,只要會辨識「這題根本不是找值,是找區間」。
- 建議:5~7 題
- 重點:這類型其實很看「邏輯乾不乾淨」,你問題解析能力夠就會做。
- Binary Search(基礎)
- Search in Rotated Sorted Array(經典)
- Find Peak Element
- Find Minimum in Rotated Sorted Array
- 說明:後端偶爾會遇到,但面試還是很常出。
- 建議:5~7 題(不用多)
- 重點:Linked list 全都是「指標思維」,五六題就能看懂 90%。
- Reverse Linked List
- Merge Two Sorted Lists
- Remove N-th Node From End
- Linked List Cycle
- Add Two Numbers(Big hit)
- 說明:這是你未來會需要的(FastAPI、後端、資料結構都會碰到)。
- 建議:10 題左右
- 重點:這一類的難度靠「遞迴直覺」,不是刷題量。
- Maximum Depth of Binary Tree(DFS)
- Balanced Binary Tree
- Path Sum
- Binary Tree Level Order Traversal(BFS)
- Validate BST
- Lowest Common Ancestor(LCA 熱門)
- 說明:大魔王區。但後端工作面試其實不會考很深,只考常見幾題。
- 建議:5~8 題(把 pattern 建起來,超過就沒必要強刷)
- 重點:DP 的關鍵不在於題量,而在於「寫得出遞推式」。
- Climbing Stairs(DP Hello World)
- House Robber
- House Robber II
- Maximum Subarray(其實是 DP)
- Longest Increasing Subsequence(LIS)
- Coin Change
- 說明:很少面試考,但你做產品會用到邏輯。
- 建議:3~5 題
- Jump Game
- Jump Game II
- Gas Station
| 類型 | 建議題數 |
|---|---|
| HashMap | 8–10 |
| Sliding Window | 8–12 |
| Two Pointers | 5–8 |
| Binary Search | 5–7 |
| Linked List | 5–7 |
| Tree / DFS / BFS | 10 |
| DP | 5–8 |
| Greedy | 3–5 |
➡ 總計:大概 45~60 題 = 後端工程師「可面試」等級。
這階段可以讓你完全熟悉:complement 思維、「看過什麼?」邏輯、dict 存 key/value 的 pattern。
- 順序:
- Two Sum(DONE!)
- Valid Anagram
- Group Anagrams
- Two Sum II(變形題)
- Subarray Sum Equals K(HashMap 高配版)
Sliding Window 是你未來工作最容易碰到的:字串處理、Token 過期、API 節流。
- 順序:
- Longest Substring Without Repeating Characters(經典)
- Longest Repeating Character Replacement
- Minimum Window Substring(進階大題)
- Sliding Window Maximum
這系列很好練習排序後的邏輯。
- 順序:
- 3Sum
- Container With Most Water
- Trapping Rain Water(中高階但超值得)
這是後端職缺面試必考。一定要懂「我不是找值,我是在找條件成立的邊界」。
- 順序:
- Binary Search(基本)
- Search in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Peak Element
5 題就能搞定 90% 的 Linked List 題。
- 順序:
- Reverse Linked List
- Merge Two Sorted Lists
- Linked List Cycle
- Remove N-th Node From End
- Add Two Numbers(中階)
這類型讓你對資料結構更有感覺。
- 順序:
- Maximum Depth of Binary Tree
- Binary Tree Level Order Traversal
- Path Sum
- Validate BST
- Lowest Common Ancestor(稍微難,但超常考)
這階段讓你熟悉遞推。只要抓到:狀態、過去影響未來、最佳化、重複子問題。
- 順序:
- Climbing Stairs
- House Robber
- Maximum Subarray(DP disguised as greedy)
- Coin Change
- Longest Increasing Subsequence (LIS)
🧩 全序列(從最容易 → 最難)
HashMap → Sliding Window → Two Pointers → Binary Search → Linked List → Tree(DFS/BFS) → DP
這條順序的好處:
- 你每個階段都能立即感受到「變強」
- 不會卡關,也不會覺得刷題很痛苦
- 工作面試最常考的題型都排前面
- 很符合你「專案驅動、要看到成效」的習慣