首頁>科技>

昨天逛Github發現一個寶藏專案,這是一個關於 LeetCode 演算法刷題的專案,專案地址(https://github.com/halfrost),作者在這專案寫了一本叫 LeetCode Cookbook 的開源電子書,這本電子書不僅製作精美,而且內容也是非常紮實。

在介紹這本開源電子書之前,我們先來介紹下這個專案的作者。

作者介紹:這個開源專案是@halfrost(中文名一縷殤流化隱半邊冰,簡稱霜神),霜神是前阿里巴巴資深後端工程師,業餘時間酷愛寫部落格,大學參加了3年ACM-ICPC目前他的部落格已經有 300W+ 的瀏覽量,是 iOS 開發屆的大佬級別人物。

整個題解專案全部都是用 Go 語言實現,但演算法題最重要的解題思路,每道題都有詳細的分析和說明,而不是一上來就寫程式碼,所以即使你沒學過Go語言,跟著霜神的題解分析,也能收穫良多!

不過話說回來Go語言這麼火,你確定不學一下?透過這個專案既能學Go又能學演算法。

電子書的序言部分:

這本書總結了常見演算法的解題套路和方法,很多人表示刷資料結構和演算法題效率不高,甚是痛苦,有了這個筆記的總結,對校招和社招的演算法刷題幫助之大不言而喻,果斷推薦給大家。

本書收錄了 800 多道LeetCode演算法題,作者說未來還會繼續增加,目標是朝著 800 甚至 1000 道題解奮進!非常佩服作者的勇氣和對演算法的執著。

下面是電子書的目錄部分,透過目錄也能大概瞭解到書的整體內容。

擷取部分題解說明:

還有一點要說明的是,這個題解中的每題都 runtime beats 100% 也就是說都是最優解

有可能讀者會問,為何要追求beats100%?下面引用霜神的回答

最佳化到beats100%才算是把這題做出感覺了。有好幾道Hard題,筆者都用暴力解法AC了,然後只beats了5%。這題就如同沒做一樣。而且面試中如果給了這樣的答案,面試官也不會滿意,“還有沒有更優解?”如果透過自己的思考能給出更優解,面試官會更滿意一些。

這本已經在Github開源,當然我也下載了離線版PDF,需要的同學可以自取:

磨刀不誤砍柴工,找到正確的刷題方法,比埋頭刷題更重要!演算法筆試現在幾乎是大廠面試必考,希望今天的分享對你有幫助。

每天進步一點點,慢一點才能更快。

加油!

年味漸濃,祝大家新年牛氣沖天!!

12
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 一場關於動態化開發實踐的技術探討