介紹
這是筆者在上半年去阿里(螞蟻)和騰訊面試時候,開始刷的一本書。對於面試過程中的演算法和資料結構幫助非常大,所以牆裂推薦。
大概三月份,面試都通過之後,就開始斷斷續續的閱讀、刷題。最近終於刷完了這本書,收貨頗豐,把過程中每道題目的想法以及 JavaScript 的解題版本都記錄和整理了下來。
由於內容太多,所以劃分成了 10 個專題,分別是:位運算、雜湊表、堆、字串、陣列、查詢、棧和佇列、樹、遞迴與迴圈、連結串列。
由於篇幅過多,不再針對每篇在 Issue 上開設單獨評論,可以在此頁面下討論。如果發現問題,歡迎發起 PR 討論。
網上已經有很多 js 版本,這版也沒什麼特別的地方,但是題目收錄完整、專題劃分明確、程式碼和文章風格統一,是花了蠻多心血和業餘時間在裡面,所以自薦一下。
希望這對於你之後的學習和麵試稍有幫助,文章原始碼開放,食用請來心譚部落格。
如果您覺得還有點意思,歡迎鼓勵一個 Star:github.com/dongyuanxin…
特別鳴謝
《劍指 Offer》,除了“手動實現 atoi”採用的是 Leetcode 版,其餘題目均來自此書。
字串
查詢
連結串列
陣列
棧和佇列
遞迴和迴圈
- 01-青蛙跳臺階
- 02-數值的整次方
- 03-列印從 1 到最大的 n 位數
- 04-順時針列印矩陣
- 05-陣列中出現次數超過一半的數字
- 06-最小的 k 個數
- 07-和為 s 的兩個數字
- 08-和為 s 的連續正數序列
- 09-n 個骰子的點數
- 10-撲克牌的順子
- 11-圓圈中最後剩下的數字