iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
佛心分享-刷題不只是刷題

正拳的 Leetcode 150系列 第 1

[Day 1] 刷題從 Neetcode 網站開始

  • 分享至 

  • xImage
  •  

在軟體工程師的面試中,Coding 面試是不可或缺的一環。為了有效準備這類面試,Leetcode 這樣的教學網站成為許多人的首選。你可以使用熟悉的編程語言,如 C、Java 或 Python,來解決各類問題。不過,Leetcode 上的問題數量超過 3200 題,究竟需要做多少題才能充分準備?我們該如何高效地備戰呢?

這裡可以應用所謂的「80/20 法則」,也就是 20% 的題目涵蓋了 80% 的考點。然而,3200 題的 20% 仍然是 640 題,對多數人來說這仍然過於龐大。因此,Navdeep Singh 精選的 150 題(簡稱 Neetcode 150)成為了廣受推崇的高效題庫。我自己在完成這 150 題後,發現它確實是一個極佳的練習集合,能夠有效複習與學習。順帶一提,Navdeep Singh 也因為他優質的 coding 教學影片,成為了知名的 YouTuber。

系列文章的目標讀者

這一系列文章假設讀者具備以下條件:

  1. 具備 Python 基礎
  2. 熟悉基礎的演算法與資料結構(如 list、tree、graph)。如果你畢業多年、不太熟悉這些內容也不用擔心,我會附上相關的參考資料。

這些文章的重點不在於重複已經充斥網絡的解題步驟,而是聚焦於以下幾點:

  • 如何將程式碼寫得簡潔易懂
  • 善用語言的特性和 Standard Library
  • 如何有效地測試程式碼

內容大綱

  • 開發工具選擇:Jupyter Notebook、VSCode
  • 程式碼範例集:你可以參考 Neetcode 的 GitHub

第一天:從 Neetcode 網站開始

你可以直接從 Neetcode 150 題 開始。這 150 道題目根據資料結構與演算法分為 18 類,每一類題目難度從簡單到困難不等。

  1. Arrays & Hashing
  2. Two Pointers
  3. Sliding Window
  4. Stack
  5. Binary Search
  6. Linked List
  7. Trees
  8. Heap / Priority Queue
  9. Backtracking
  10. Tries
  11. Graphs
  12. Advanced Graphs
  13. 1-D Dynamic Programming
  14. 2-D Dynamic Programming
  15. Greedy
  16. Intervals
  17. Math & Geometry
  18. Bit Manipulation

建議你從每一類的 Easy 題目入手,打好基礎;完成所有 Easy 題後,再挑戰 Medium 題目。雖然 Neetcode.io 平台支持上傳程式碼並自動評分,但如果你習慣使用 Leetcode 網站,也可以參考這個Leetcode 題目清單來練習。

今天就先分享到這裡,敬請期待明天的進一步分享!

參考資料

系列文章
[Day 1] 刷題從 Neetcode 網站開始
[Day 2] 善用 Python 基本資料結構:集合 Set
[Day 3] 善用 Python 基本資料結構:dictionary


下一篇
[Day 2] 善用 Python 基本資料結構:集合 Set
系列文
正拳的 Leetcode 1506
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言