背景
一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcode是什么樣的體驗?
慢慢有一些贊和感謝, 備受鼓舞, 于是我把所做過的題目用一個script跑了一下,編輯成一篇文章。這個總結(jié)頁面是這么規(guī)劃的:
- 題目名稱(答案鏈接)
- 題目難度
- 解題關(guān)鍵點
學(xué)習(xí)過程中, 我認為, 成事四分靠刷題, 六分靠總結(jié). 在漫長的刷題過程中, 我們常常被海量的題目(據(jù)說今天已經(jīng)有700題)壓得喘不過氣, 而常常忽略總結(jié)的必要性.
然而,在真正面試時,刷題的功底最重要的功能就是在聽到題目的的時候,能夠快速地反應(yīng),在腦中找到相應(yīng)地關(guān)鍵字,再回憶起相應(yīng)地答案. 這個時候,對題目的熟知和關(guān)鍵點的掌握就非常重要。
當(dāng)然,倒不是要將這份總結(jié)頁面倒背如流,但是起碼能在聽到某個題目時,很快想到該用什么數(shù)據(jù)結(jié)構(gòu)和方法,給自己有一個快而準的開端,會讓面試的過程流暢許多,少一些緊張。成事之后,又能少幾個月蹉跎:)
有朋友問,為什么要把自己做的題目和題目總結(jié)放在GitHub上面分享?這些不是要私自珍藏的精華嗎?
Engineering的本質(zhì)就是重復(fù)利用已有的精華,在已有的地基上創(chuàng)新前進。在我起初刷題的時候,我也蹉跎我也迷茫,不知道去哪找到做題的手感。那時候我找到許多前輩們在自己blog上面的題目解答,分享,給我?guī)矸浅6嗟乃悸?。我是個強調(diào)注重自己思考,走完全程的人,在前輩的見解上為基礎(chǔ),按照所指引的方法嘗試,優(yōu)化,最后交上一份自己的答案,建立起自己的知識網(wǎng)絡(luò)。這每一步,都離不開最初所得到的指點。
當(dāng)自己結(jié)束了刷題旅程后,心中充滿感激。為此,我特別把題目的精華寫成中文,方便中國人閱讀,復(fù)習(xí)起來也事半功倍。最后,總結(jié)了這篇長文章,希望給還在刷題事業(yè)中奔跑的中國人助力,希望大家找到自己心儀的工作!
如果對題目有什么不同的見解,我特別希望你能給我留言,或者到我的GitHub上發(fā)一個issue/pull-request, 幫助到更多學(xué)習(xí)中的代碼仔!
GitHub Repo
從開始這個Github已經(jīng)有將近兩年時間, 很高興這個repo可以幫到有需要的人. 我一直認為, 知識本身是無價的, 因此每逢閑暇, 我就會來維護這個repo, 給刷題的朋友們一些我的想法和見解.
所有內(nèi)容都來自我的GitHub: https://github.com/awangdev/LintCode
下面來簡單介紹一下這個repo:
- README.md: 所有所做過的題目
- ReviewPage.md: 所有題目的總結(jié)和歸納(不斷完善中)
- KnowledgeHash2.md: 對所做過的知識點的一些筆記
- SystemDesign.md: 對系統(tǒng)設(shè)計的一些筆記
- Future Milestone: 我準備將一些有意思的題目,做成視頻的形式給大家參考
在這里! 安利一下自己的副業(yè)
介紹一下自己! 大家在YouTube或者B站都可以搜到我: "張土汪"
最近一份關(guān)于工作的影片: 程序猿二月工作爆肝回憶錄!
最近我開始在做自己的Youtube Channel, 雖然還沒有定下任何方向, 但是目前我會做幾部分的內(nèi)容:
- 工作經(jīng)驗的分享/目前學(xué)習(xí)經(jīng)歷: 當(dāng)然會跟Software Engineer比較相關(guān)
- 在美國的生活/學(xué)生時代的經(jīng)歷, vlog等
- 個人的興趣愛好: 唱歌!!!
希望在這里參考刷題經(jīng)驗時, 可以去關(guān)注我的Channel! 有任何對在美國工作的疑問, 疑惑, 都可以給我留言/私信/郵件.

希望大家學(xué)習(xí)順利, 對未來充滿希望!
有問題可以給我寫郵件(wangdeve@gmail.com), 或者在GitHub上發(fā)issue給我.