刷題兩個(gè)月,從入門(mén)到字節(jié)offer,這是我的模板 | GitHub 1.2k星
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
刷題應(yīng)該這樣刷。
最近,一位網(wǎng)友在GitHub上分享了他自己的一個(gè)算法模版,瞬間斬獲1.2k星。
按照他的經(jīng)歷來(lái)說(shuō),四月份找工作開(kāi)始,從0開(kāi)始刷LeetCode,現(xiàn)在已經(jīng)是字節(jié)跳動(dòng)的員工了。
于是就通過(guò)各種刷題文章,專(zhuān)欄,視頻等總結(jié)了一套自己的刷題模板。
最科學(xué)的刷題方式,最快速的刷題路徑,到底是怎樣的呢?
我們一起來(lái)看看吧~
推薦的刷題路徑
那么,應(yīng)該從何刷起呢?怎么刷?
作者提供了一個(gè)推薦路徑。
第一步,algorithm-pattern 練習(xí)題

首先呢,按照作者總結(jié)的練習(xí)題刷一遍(網(wǎng)站鏈接已附文末),如果中間有題目卡住了就先跳過(guò)。
為什么要先刷練習(xí)題呢?
作者說(shuō)了,因?yàn)檫@些題目都是按照類(lèi)型歸類(lèi),且一開(kāi)始還有詳細(xì)的知識(shí)點(diǎn)解析。題目也是常見(jiàn)的高頻題,很有代表性,大部分都是可以用模版加一點(diǎn)變形做出來(lái)的。
這樣刷完了之后就會(huì)對(duì)大部分題目有個(gè)最基本的認(rèn)識(shí)。
第二步,LeetCode探索卡片
接著,就可以去刷LeetCode的探索卡片了。

這一步,主要是鞏固一下基礎(chǔ)知識(shí)點(diǎn),然后做一個(gè)小總結(jié)。
第三步,劍指offer

劍指offer基本上是大部分公司的出題源頭,刷題面試中基本會(huì)遇到現(xiàn)題或者變形題,刷完這三部分,大部分國(guó)內(nèi)公司的面試題應(yīng)該都沒(méi)有問(wèn)題了。
另外,作者還溫馨提示:
刷題時(shí)間要合理分配。如果打算準(zhǔn)備面試了,建議前面兩部分,一個(gè)半月(6周)的時(shí)間刷完,最后劍指offer半個(gè)月刷完,邊刷可以邊投簡(jiǎn)歷進(jìn)行面試,遇到不會(huì)的,往模版上套就對(duì)了。
練習(xí)題內(nèi)容
既然練習(xí)題那么重要,那么我們就來(lái)?yè)屜葋?lái)了解一下~

核心內(nèi)容主要分為四個(gè)部分。
入門(mén)篇——數(shù)據(jù)結(jié)構(gòu)篇——基礎(chǔ)算法篇——算法思維篇️
(有沒(méi)有注意到作者的良苦用心,一開(kāi)始是,刷完你就是️。)
入門(mén)篇
入門(mén)篇就分為go語(yǔ)言入門(mén)和算法快速入門(mén)。
點(diǎn)擊go語(yǔ)言入門(mén),它的界面是這樣的。

分成了基本語(yǔ)法、常用庫(kù)以及刷題注意點(diǎn)這三部分。
如果你對(duì)go語(yǔ)言還不是很了解,直接送上「go語(yǔ)言圣經(jīng)」在線網(wǎng)頁(yè)版供你參考。
常用庫(kù)不必細(xì)說(shuō)了,附帶代碼和解釋說(shuō)明,很完整。
另外還有刷題注意事項(xiàng):
leetcode 中,全局變量不要當(dāng)做返回值,否則刷題檢查器會(huì)報(bào)錯(cuò)。
而在「算法快速入門(mén)」中,主要介紹了數(shù)據(jù)結(jié)構(gòu)和算法、面試注意點(diǎn)以及兩道練習(xí)題。

數(shù)據(jù)結(jié)構(gòu)篇
數(shù)據(jù)結(jié)構(gòu)篇主要分成了二叉樹(shù)、鏈表、棧和隊(duì)列以及二進(jìn)制。
每一個(gè)模塊,都有知識(shí)點(diǎn)解析,總結(jié)以及練習(xí)題這幾個(gè)部分。

接著的「基礎(chǔ)算法篇」、「算法思維篇」也都是按照這樣的路子來(lái)的,大家就安安心心的刷題吧!
作者還提到,文章大部分都是對(duì)題目的思路介紹和一些問(wèn)題的解析,有了思路還是需要自己動(dòng)手寫(xiě)一寫(xiě),所以每篇文章都有對(duì)應(yīng)的練習(xí)題。刷完這些練習(xí)題,基本上對(duì)數(shù)據(jù)結(jié)構(gòu)和算法有自己的認(rèn)識(shí)體會(huì),大部分面試題都能寫(xiě)得出來(lái)。國(guó)內(nèi)的BAT、TMD應(yīng)該都不是問(wèn)題。
本人心得體會(huì)
除了這些,作者本人還分享了自己的心得體會(huì)。
從 4 月份找工作開(kāi)始,從 0 開(kāi)始刷 LeetCode,中間大概花了一個(gè)半月(6 周)左右時(shí)間刷完 240 題。

剛開(kāi)始刷題時(shí),確實(shí)是無(wú)從下手。
是因?yàn)閺男蛱?hào)開(kāi)始刷,刷到幾道題就遇到 hard 的題型,會(huì)卡住很久,后面去評(píng)論區(qū)看別人怎么刷題,也去 Google 搜索最好的刷題方式。
后來(lái)發(fā)現(xiàn)按題型刷題會(huì)舒服很多,基本一個(gè)類(lèi)型的題目,一天能做很多,慢慢刷題也不再枯燥,做起來(lái)也很有意思,最后也收到了不錯(cuò)的 offer。
好了,以上就是分享的刷題指南,希望能夠?qū)δ阌兴鶐椭?/p>
另外,如果你也有刷題、面試大廠的經(jīng)歷和經(jīng)驗(yàn),歡迎跟我們分享哦!
練習(xí)題網(wǎng)站:
https://greyireland.gitbook.io/algorithm-pattern/
GitHub主頁(yè):
https://github.com/greyireland/algorithm-pattern
ps,作者還分享了一些計(jì)算機(jī)經(jīng)典書(shū)籍「我看過(guò)的100本書(shū)」,也分享給你
https://github.com/greyireland/awesome-programming-books-1