當(dāng)前位置:首頁 > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]來自:小浩算法 三年高考,五年刷題。leetcode不算從其他各處收錄的題目,單就自己的題庫,總共有1600+,如果按照每天刷一道的話,總共需要5年。那我們真的需要把這些題目全部刷完嗎?如果不是,刷多少合適?又該怎么刷呢?本文我盡量言簡意賅,直擊大家的疑

漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

來自:小浩算法

漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

三年高考,五年刷題。leetcode不算從其他各處收錄的題目,單就自己的題庫,總共有1600+,如果按照每天刷一道的話,總共需要5年。那我們真的需要把這些題目全部刷完嗎?如果不是,刷多少合適?又該怎么刷呢?本文我盡量言簡意賅,直擊大家的疑惑。(本文適合算法初學(xué)者)



01
PART
刷多少題
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

不下百人問過我這個(gè)問題。我的建議是,對(duì)于大部分的人,200道是一個(gè)合適的數(shù)字。

估計(jì)到這里,有人會(huì)噴我。你不設(shè)前提,不談目的,直接就說200道,這不是扯淡嗎。我想說的是,這不是扯淡。


前面我已經(jīng)說了,對(duì)于大部分人,我的建議是200道。大部分人指的是什么呢?我這里統(tǒng)指沒有系統(tǒng)刷題經(jīng)驗(yàn)的同學(xué)。無論是工作3-5年的職場老司機(jī),還是即將畢業(yè)的應(yīng)屆生,只要沒怎么刷過題,通通歸為此類。


對(duì)于上面這個(gè)群體(請(qǐng)先自行判斷是否可以歸為此類),刷題的目的基本是為了面試。不管我多么巧舌如簧,告訴你算法可以提高思維,增強(qiáng)邏輯,是成為top coder的必然條件,等等等等。但最終都還是會(huì)回歸到這個(gè)目的:面試。


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)


所以現(xiàn)在我們換掉問題:沒什么刷題經(jīng)驗(yàn)的同學(xué)為了面試需要刷多少道題?我的答案是:200道。



02
PART
為什么是200
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

這個(gè)問題,不妨換做 ”刷完200道題可以掌握到什么程度?“

常見tag無外乎那么七八種,200道題聽起來很多,但是分散到每一個(gè)tag,每種也就只包含二三十個(gè)。倘若我們算多點(diǎn),每一個(gè)tag包含30道題,其中大概是15-20道easy,5-10道medium,2-3道hard。200道不多不少,基本可以完美覆蓋整個(gè)算法體系,所以我認(rèn)為200道是一個(gè)不錯(cuò)的數(shù)字。


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)


那么回到問題 “刷完200道題可以掌握到什么程度?” 我當(dāng)然可以給你一些信心,告訴你200道題可以讓你吊打面試官,完虐BAT。但是呢,其實(shí)這都是騙小孩子的,或者就是騙 ¥。那真實(shí)的200道題能讓你到達(dá)一個(gè)什么程度呢?


  • 在算法方面超過大概80%的同行(這里單指基礎(chǔ)算法,非ML、AI等)

  • 在面試時(shí)不至于對(duì)方拿出一道題目整個(gè)人就陷入懵逼,而是有資格享受面試思考題目的過程

  • 身邊有朋友聊到算法敢過去和他們交流,而不是默默的走開

  • 對(duì)于應(yīng)屆生,謀取一份拿到offer的可能性

  • 對(duì)于老司機(jī),去大廠鍍金的必備條件

  • 對(duì)于培訓(xùn)生,極大的縮小和科班學(xué)生的差距



03
PART
200道刷多久
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

“我之前立了個(gè)flag,一天刷一道都沒堅(jiān)持下來。你特么讓我刷兩百道,我一年都搞不定。這不扯淡嗎?”

如果你有上面的疑惑,那么:你錯(cuò)了。堅(jiān)持不下來一天一道的人和刷完200道題,毛關(guān)系都沒有?;氐轿疑厦娴睦樱?00道題目里。大概easy在130-150道左右,medium在30-50道,hard只占據(jù)了不到20道題。


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

(you, wrong)


跑步和刷題不同。跑步是越來越慢,刷題卻是越來越快的。對(duì)于初學(xué)者(正常人),在每一個(gè)tag刷了10道左右簡單題之后,基本同類型的題目可以提高到每天2-3道easy題目,有的掌握好的,甚至能提高到每天刷5-10題。很多同類型題目,基本都是一個(gè)模子刻出來的。


所以我認(rèn)為,200道題刷的特別慢的話大概在150天左右完成,中不溜的在100天左右,刷的快的話在60天左右。同時(shí),如果我們再把這里邊的 medium 和 hard 通通remove 掉。再不濟(jì),也應(yīng)該在3個(gè)月左右掌握大概100-150道簡單題目。剩下的,just do it。



04
PART
刷完就忘
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

你忘我也忘,大家都旺旺。

忘就對(duì)了。如果你在刷題的時(shí)候發(fā)現(xiàn)怎么也寫不出來,別擔(dān)心,這是正常的。如果你還發(fā)現(xiàn),之前明明刷過的題,過段時(shí)間再做的時(shí)候,自己還是不會(huì)。別擔(dān)心,這特么還是正常的。


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)


作為一個(gè)正常人,大腦就會(huì)忘記,如果不忘,可能說明你大腦出了問題。這個(gè)不是我說的,是醫(yī)生說的:


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)


所以如果有些題你刷了好多遍都還是不會(huì),那就需要進(jìn)行總結(jié)。思考到底是哪一環(huán)節(jié)卡住了你,反復(fù)進(jìn)行練習(xí)。當(dāng)然,這里有人建議是每道題都刷個(gè)3遍,其實(shí)我覺得倒是沒有這個(gè)必要。我建議是找個(gè)小本本,記一下每一道的核心要素與考察要點(diǎn)。在刷題的這段時(shí)間里,沒啥事就瞅瞅翻翻。



05
PART
沒基礎(chǔ)怎么辦
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

我沒學(xué)過算法和數(shù)據(jù)結(jié)構(gòu),能不能刷題?



能。刷題本身就是一個(gè)學(xué)習(xí)的過程。比如二叉樹的題,刷個(gè)30道,你一定會(huì)遇到BST。所以我個(gè)人認(rèn)為學(xué)習(xí)系統(tǒng)的算法知識(shí)(也就是你們問我的,要不要買一本書,先看一遍再進(jìn)行刷題)和 刷題 本身并不矛盾。你可以雙管齊下,也可以單點(diǎn)突破,都o(jì)k。主要是,干就對(duì)了。


漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)


到這里就會(huì)出現(xiàn)另一個(gè)問題,“我是從頭刷,還是分類刷?” 我的建議是,如果稍微有點(diǎn)算法基礎(chǔ),你就從頭刷leetcode前200道題。如果完全沒有算法基礎(chǔ),可以考慮分tag來刷。并不是說按照tag的方式更好,而是在沒有算法基礎(chǔ)的前提下分tag來刷,除了掌握題型之外,對(duì)于知識(shí)的掌握很有益處。(想一想初高中是如何學(xué)習(xí)的)那為什么又說從頭刷也是可以的?這個(gè)是因?yàn)?,如果一直刷某一種類型的題,容易出現(xiàn)刷完一類忘掉前一類的問題,也容易對(duì)某一類題目疲憊??傊?strong>使用哪種方式取決于你。關(guān)鍵是:干就對(duì)了!


另外,我認(rèn)為leetcode前200題是相當(dāng)經(jīng)典的??赡艽蠹也恢?,早期leetcode總共也就一百來道題。這些題目基本都是精華,后面的很多題目都是在這些題目的基礎(chǔ)上進(jìn)行演化而成。比如 合并兩個(gè)有序鏈表,后來就演化成 合并K個(gè)有序鏈表。并且前200道題基本覆蓋了所有的算法類型,我是很建議大家刷一遍的。



06
PART
其他
漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

初學(xué)者拿到題目沒有思路怎么辦?為什么看完題解自己還是寫不出來?別人的代碼為什么可以那么簡單?為了面試要不要盡可能多的掌握最優(yōu)解?等等等等,這些我打算出在下一次的算法指導(dǎo)篇中。


特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:

漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

長按訂閱更多精彩▼

漫畫:小白為了面試如何刷題?(嘔心瀝血算法指導(dǎo)篇)

如有收獲,點(diǎn)個(gè)在看,誠摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉