LeetCode 筆記 (0) – 核心技法
本筆記的初衷是記錄練習LeetCode的心得,以及歸納好用的核心技巧。有別於其他網路上case by case的逐題解析,我認為要想成功完成面試題,只需要精熟幾項核心技法即可,理由如下 :
- 通常Easy題就是Medium題目的簡化版,而Hard題是二到三題Medium的結合(或是特殊到無法事前準備的東西),因此把Medium的題目練好即可
- Medium題目又分成經典題與變化題,通常經典題就是考核心演算法,變化題則是在核心判斷或邊界條件上做變化,所以必須練熟經典的Medium題
- 最後就像各種證照可是一樣,平時念書都會,就怕臨場失常寫不出來,偏偏面試時的環境就跟文字編輯器差不多,
為了避免失常,最核心的演算法與常用的函數操作就要當背科來練習
,秒速解題的肌肉記憶最能讓面試官震驚
接下來的系列文章會根據題型分類,每一種題型會訂出一個樣板程式,並示範由樣板解答熱門題目的思考過程,系列題型如下 :
- Binary Search
- Breadth-First Search
- DFS (TODO)
- Two Pointers (TODO)
- Dynamic Programming (TODO)
- Backtracking (TODO)
- Greedy (TODO)
- …