LeetCode 刷題順序:Dcard 網友經驗分享大集合
各位準備面試的工程師朋友們,是不是常常被 LeetCode 搞到頭昏腦脹? 到底要從哪裡開始刷起? Dcard 上看到很多鄉民都在討論這個問題,今天就來幫大家整理一下,看看他們分享的 LeetCode 刷題順序和經驗,希望能給正在苦惱的你一些方向!別擔心,刷題就像爬山,一步一步來,總能登頂的! 立即探索更多!
起點:基礎資料結構與演算法
很多 Dcard 網友都提到,刷 LeetCode 前,一定要先把基礎打牢。什麼基礎呢? 就是陣列、鏈結串列、堆疊、佇列、樹、圖等等資料結構,以及排序、搜尋等演算法。可以先從容易理解的題目開始,例如「兩數之和」(Two Sum),這題可以用哈希表在 O(n) 時間內解決。先熟悉基本的程式語法和資料結構的操作,才能更好地理解 LeetCode 上的題目。 點我解鎖秘密!
進階:按照主題分類刷題
打好基礎後,就可以開始按照主題分類刷題了。Dcard 網友們建議可以從以下幾個主題開始:
- 陣列與字串: 這是最常見的題目類型,可以練習陣列操作、字串處理等技巧。
- 鏈結串列: 鏈結串列操作需要一些技巧,可以練習指標的操作。
- 樹與圖: 樹和圖的題目比較複雜,需要掌握遞迴和深度優先搜尋、廣度優先搜尋等演算法。
- 動態規劃: 動態規劃是 LeetCode 上最難的題目類型之一,需要掌握狀態轉移方程。
Dcard 網友推薦的刷題順序
根據 Dcard 上面的分享,以下是一個比較推薦的刷題順序:
- Easy 難度的陣列與字串題目: 先從簡單的題目開始,建立信心。
- Easy 難度的鏈結串列題目: 練習指標的操作。
- Medium 難度的樹與圖題目: 開始挑戰稍微複雜的題目。
- Medium 難度的動態規劃題目: 開始學習動態規劃。
- Hard 難度的題目: 挑戰自我,提升能力。
總結:持之以恆才是王道
LeetCode 刷題是一場馬拉松,不是短跑。最重要的是持之以恆,每天堅持刷幾道題,不斷提升自己的能力。不要害怕遇到難題,可以多看別人的解法,學習他們的思路。記住,刷題的目的是為了提升自己的程式能力,而不是為了刷題而刷題。祝各位刷題愉快,面試順利! 開始你的旅程!