簡(jiǎn)介
是不是有許多小伙伴在刷力扣的時(shí)候感覺(jué)無(wú)從下手?從頭按順序開始刷的童鞋們可能會(huì)比較有感觸,為什么才第四題就感覺(jué)很難了?沒(méi)關(guān)系,本文將對(duì)力扣的 1-700 題中不需要會(huì)員的數(shù)據(jù)結(jié)構(gòu)與算法題目(數(shù)據(jù)庫(kù)與 shell 除外)進(jìn)行分類,并推薦一個(gè)刷題的順序。
完全零基礎(chǔ)可以刷題嗎?
不能,至少要基本掌握一門計(jì)算機(jī)語(yǔ)言的語(yǔ)法。但現(xiàn)在在網(wǎng)上隨便搜一下就能搜到許多關(guān)于計(jì)算機(jī)語(yǔ)言的教程。當(dāng)然,最好還是上一下正規(guī)的課程。
刷題順序很重要嗎?
重要。按照題目類別結(jié)構(gòu)化地刷題的速度不僅更快,而且可以在刷完一類題之后進(jìn)行總結(jié)。對(duì)于水平較高的小伙伴們來(lái)說(shuō),按照推薦的順序刷,可以在 200 小時(shí)內(nèi)刷完 500 多題。對(duì)于萌新們來(lái)說(shuō),按照推薦順序刷,能更好地掌握數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)。
題目分類及刷題順序推薦
一. 數(shù)組
題目分類 題目編號(hào)
數(shù)組的遍歷 485、495、414、628
統(tǒng)計(jì)數(shù)組中的元素 645、697、448、442、41、274
數(shù)組的改變、移動(dòng) 453、665、283
二維數(shù)組及滾動(dòng)數(shù)組 118、119、661、598、419
數(shù)組的旋轉(zhuǎn) 189、396
特定順序遍歷二維數(shù)組 54、59、498
二維數(shù)組變換 566、48、73、289
前綴和數(shù)組 303、304、238
題解 數(shù)組篇
二. 字符串
題目分類 題目編號(hào)
字符 520
回文串的定義 125
公共前綴 14
單詞 434、58
字符串的反轉(zhuǎn) 344、541、557、151
字符的統(tǒng)計(jì) 387、389、383、242、49、451、423、657、551、696、467、535
數(shù)字與字符串間轉(zhuǎn)換 299、412、506、539、553、537、592、640、38、443、8、13、12、273、165、481
子序列 392、524、521、522
高精度運(yùn)算 66、67、415、43、306
字符串變換 482、6、68
字符串匹配 28、686、459、214
中心拓展法 5、647
三. 數(shù)與位
題目分類 題目編號(hào)
數(shù)字的位操作 7、9、479、564、231、342、326、504、263、190、191、476、461、477、693、393、172、458、258、319、405、171、168、670、233、357、400
簡(jiǎn)單數(shù)學(xué)題 492、29、507
快速冪 50、372
四. 棧與遞歸
題目分類 題目編號(hào)
用棧訪問(wèn)最后若干元素 682、71、388
棧與計(jì)算器 150、227、224
棧與括號(hào)匹配 20、636、591、32
遞歸 385、341、394
五. 鏈表
題目分類 題目編號(hào)
鏈表的刪除 203、237、19
鏈表的遍歷 430
鏈表的旋轉(zhuǎn)與反轉(zhuǎn) 61、24、206、92、25
鏈表高精度加法 2、445
鏈表的合并 21、23
六. 哈希表
題目分類 題目編號(hào)
哈希表的查找、插入及刪除 217、633、349、128、202、500、290、532、205、166、466、138
哈希表與索引 1、167、599、219、220
哈希表與統(tǒng)計(jì) 594、350、554、609、454、18
哈希表與前綴和 560、523、525
七. 貪心算法
題目分類 題目編號(hào)
數(shù)組與貪心算法 605、121、122、561、455、575、135、409、621、179、56、57、228、452、435、646、406、48、169、215、75、324、517、649、678、420
子數(shù)組與貪心算法 53、134、581、152
子序列與貪心算法 334、376、659
數(shù)字與貪心 343
單調(diào)棧法 496、503、456、316、402、321、84、85
八. 雙指針?lè)?/p>
題目分類 題目編號(hào)
頭尾指針 345、680、167、15、16、18、11、42
同向雙指針、滑動(dòng)窗口 27、26、80、83、82、611、187、643、674、209、3、438、567、424、76、30
分段雙指針 86、328、160、88、475
快慢指針 141、142、143、234、457、287
九. 樹
題目分類 題目編號(hào)
樹與遞歸 100、222、101、226、437、563、617、508、572、543、654、687、87
樹的層次遍歷 102、429、690、559、662、671、513、515、637、103、107、257、623、653、104、111、112、113、129、404、199、655、116、117
樹的前序遍歷 144、589
樹的前序序列化 606、331、652、297、449
樹的后序遍歷 145、590
樹的中序遍歷與二叉搜索樹 94、700、530、538、230、98、173、669、450、110、95、108、109
重構(gòu)二叉樹 105、106
二叉樹的展開 114
最近公共祖先 235、236
Morris中序遍歷 501、99
四叉樹 558、427
十. 圖與搜索
題目分類 題目編號(hào)
圖的建立與應(yīng)用 565
深度優(yōu)先搜索 17、397
回溯法 526、401、36、37、51、52、77、39、216、40、46、47、31、556、60、491、78、90、79、93、332
回溯法與表達(dá)式 241、282、679
回溯法與括號(hào) 22、301
回溯法與貪心 488
廣度優(yōu)先搜索 133、200、695、463、542、130、417、529、127、126、433、675
并查集 547、684、685
拓?fù)渑判? 399、207、210
有限狀態(tài)自動(dòng)機(jī) 65、468
十一. 二分查找
題目分類 題目編號(hào)
二分查找應(yīng)用(簡(jiǎn)單) 374、35、278、367、69、441
二分查找應(yīng)用(中等) 34、540、275、436、300、354、658、162、4
二分查找與旋轉(zhuǎn)數(shù)組 153、154、33、81
二分查找與矩陣 74、240
二分答案法 378、668、410、483
十二. 二進(jìn)制運(yùn)算的應(yīng)用
題目分類 題目編號(hào)
異或的應(yīng)用 89、136、137、260、268
與或非的應(yīng)用 371、318、201
十三. 動(dòng)態(tài)規(guī)劃
題目分類 題目編號(hào)
數(shù)組中的動(dòng)態(tài)規(guī)劃 509、70、338、45、55、198、213、650、91、639、552、123、188、309、32、264、313、403
子數(shù)組、子序列中的動(dòng)態(tài)規(guī)劃 689、413、446、368、416、279
背包問(wèn)題 322、518、474、494、377
矩陣中的動(dòng)態(tài)規(guī)劃 62、63、64、120、576、688、221、629、174、96、329
動(dòng)態(tài)規(guī)劃與字符串匹配 583、72、97、115、516、132、131、139、140、514、10、44
狀態(tài)壓縮動(dòng)態(tài)規(guī)劃 464、691、698、638、473
區(qū)間中的動(dòng)態(tài)規(guī)劃 486、664、375、312、546
樹形dp 337、124
數(shù)位dp 233、600
十四. 數(shù)據(jù)結(jié)構(gòu)
題目分類 題目編號(hào)
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)——棧與隊(duì)列 225、232、284、622、641、155
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)——哈希表 676、355、380、381
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)——哈希與雙向鏈表 432、146、460
前綴樹 208、211、648、386、677、472、421、212、336、440
堆 23、373、378、632、347、692、502、630、407、295、480
樹狀數(shù)組 307、315、493、327、673
線段樹 699
平衡樹(set/map) 352、218、363
十五. 采樣
題目分類 題目編號(hào)
按權(quán)值采樣 528、497
蓄水池抽樣 382、398
拒絕采樣 470、478、519
十六. 計(jì)算幾何
題目分類 題目編號(hào)
計(jì)算幾何基礎(chǔ) 593、447、223、149
分類討論法 335
凸包 587
覆蓋問(wèn)題 391
十七. 常用技巧與算法
題目分類 題目編號(hào)
博弈論 292
分塊 239、164
倍增法 330
拓展歐幾里得算法 365
洗牌算法 384
找規(guī)律 390、672
分治法 395、667
排序算法 147、148
線性篩 204
摩爾投票法 229
結(jié)語(yǔ)
希望以上的分類及順序能幫到大家,未來(lái)也有做各分類的題解的打算,歡迎一起討論。
轉(zhuǎn)載自作者:noone_
鏈接:https://leetcode-cn.com/circle/article/48kq9d/
來(lái)源:力扣(LeetCode)