[LeetCode] 寫了400題 LeetCode 後的經驗
相信大部分人寫 LeetCode 是為了面試,我也不例外,我的 LeetCode 過程大概可以分成三段: 一開始覺得很難,就斷斷續續的寫,也不知道方向在哪 面試將近,每天瘋狂地刷題目 面試後,每天寫 daily challenge 磨練自己的技巧 我就列出一些我覺得我寫 LeetCode 犯的一些錯誤,還有後來要怎麼避免的方法。 LeetCode 常犯的錯誤 錯誤 1: 按照題號寫 一開始只是覺得說哪天會要面試,所以我先來寫寫看,所以就從題號 1, 2, 3, ... 往後慢慢寫。後來發現這樣寫其實不是很好的做法,因為: 遇到 hard 的題目就會讓人卡住花很多時間,而這些 hard 題目要達到 optimized solution 的一些步驟會需要練過一些 easy 或 medium 的題目的解法才會知道怎麼寫 遇到困難一點的題目就會讓人害怕不想繼續解 相反地,遇到連續好幾題太簡單的題目也會讓人失去興趣 後來我就開始搜尋網路上有沒有人推薦 LeetCode 要寫哪些題目,於是就找到了幾個不錯的資源: LeetCode 本身自己的 Study Plan ,像是 LeetCode 75, Data Structure, Algorithm, Dynamic Programming, Programming Skills, Graph Theory 免費版的其實我都解過一輪了,但有的題目沒有官方解答,就只能去挖討論版的解答 NeetCode 150/Blind 75 ,reddit r/LeetCode 滿推的清單,也有按照 pattern 分類,可以重複練習不熟的 pattern LeetCode Patterns ,除了列出 patterns 以外還有問過題目的公司清單,題目都滿經典的,就算是 easy problem 也其實都值得讓人思考各式各樣不同的寫法 以上清單的題目其實都高度重複,我在面試前會專注去練這家公司愛考的 pattern (像是 Google HR 就說 DP & Graph 題目可以多練)。 錯誤 2: 太在意語法和 Clean Code LeetCode 的 solution 以及討論區的解答其實可以分成兩大類: competitive programming 與 clean code。但其實我覺得自己需要走哪個風格要看你寫 LeetC...