题目参考链接:https://leetcode-cn.com/circle/article/48kq9d/
本人题解github repo链接:https://github.com/gdutthu/leetcode
1、记录准备秋招过程中的LeetCode刷题过程,里面所有题解均是python实现。
2、带有超链接的题目即为已解决的题目,且均在LeetCode oj上测试通过。但不保证题解思路是最优解,部分题目采用暴露方法进行解题。
重点要看的题目:442、448
题目分类 |
题目编号 |
字符 |
520 |
回文串的定义 |
125 |
公共前缀 |
14 |
单词 |
434、58 |
字符串的反转 |
344、541、557、151 |
字符的统计 |
387、389、383、242、49、451、423、657、551、696、467、535 |
数字与字符串间转换 |
299、412、506、539、553、537、592、640、38、443、8、13、12、273、165、481 |
子序列 |
392、524、521、522 |
高精度运算 |
66、67、415、43、306 |
字符串变换 |
482、6、68 |
字符串匹配 |
28、686、459、214 |
中心拓展法 |
5、647 |
题目分类 |
题目编号 |
用栈访问最后若干元素 |
682、71、388 |
栈与计算器 |
150、227、224 |
栈与括号匹配 |
20、636、591、32 |
递归 |
385、341、394 |
题目分类 |
题目编号 |
哈希表的查找、插入及删除 |
217、633、349、128、202、500、290、532、205、166、466、138 |
哈希表与索引 |
1、167、599、219、220 |
哈希表与统计 |
594、350、554、609、454、18 |
哈希表与前缀和 |
560、523、525 |
题目分类 |
题目编号 |
数组与贪心算法 |
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 |
子数组与贪心算法 |
53、134、581、152 |
子序列与贪心算法 |
334、376、659 |
数字与贪心 |
343 |
单调栈法 |
496、503、456、316、402、321、84、85 |
题目分类 |
题目编号 |
图的建立与应用 |
565 |
深度优先搜索 |
17、397 |
回溯法 |
526、401、36、37、51、52、77、39、216、40、46、47、31、556、60、491、78、90、79、93、332 |
回溯法与表达式 |
241、282、679 |
回溯法与括号 |
22、301 |
回溯法与贪心 |
488 |
广度优先搜索 |
133、200、695、463、542、130、417、529、127、126、433、675 |
并查集 |
547、684、685 |
拓扑排序 |
399、207、210 |
有限状态自动机 |
65、468 |
题目分类 |
题目编号 |
二分查找应用(简单) |
374、35、278、367、69、441 |
二分查找应用(中等) |
34、540、275、436、300、354、658、162、 |
二分查找与旋转数组 |
153、154、33、81 |
二分查找与矩阵 |
74、240 |
二分答案法 |
378、668、410、483 |
题目分类 |
题目编号 |
异或的应用 |
89、136、137、260、268 |
与或非的应用 |
371、318、201 |
题目分类 |
题目编号 |
数组中的动态规划 |
509、70、338、45、55、198、213、650、91、639、552、123、188、309、32、264、313、403 |
子数组、子序列中的动态规划 |
689、413、446、368、416、279 |
背包问题 |
322、518、474、494、377 |
矩阵中的动态规划 |
62、63、64、120、576、688、221、629、174、96、329 |
动态规划与字符串匹配 |
583、72、97、115、516、132、131、139、140、514、10、44 |
状态压缩动态规划 |
464、691、698、638、473 |
区间中的动态规划 |
486、664、375、312、546 |
树形dp |
337、124 |
数位dp |
233、600 |
题目分类 |
题目编号 |
数据结构设计——栈与队列 |
225、232、284、622、641、155 |
数据结构设计——哈希表 |
676、355、380、381 |
数据结构设计——哈希与双向链表 |
432、146、460 |
前缀树 |
208、211、648、386、677、472、421、212、336、440 |
堆 |
23、373、378、632、347、692、502、630、407、295、480 |
树状数组 |
307、315、493、327、673 |
线段树 |
699 |
平衡树(set/map) |
352、218、363 |
题目分类 |
题目编号 |
按权值采样 |
528、497 |
蓄水池抽样 |
382、398 |
拒绝采样 |
拒绝采样 |
题目分类 |
题目编号 |
计算几何基础 |
593、447、223、149 |
分类讨论法 |
335 |
凸包 |
587 |
覆盖问题 |
391 |
题目分类 |
题目编号 |
博弈论 |
292 |
分块 |
239、164 |
倍增法 |
330 |
拓展欧几里得算法 |
365 |
洗牌算法 |
384 |
找规律 |
390、672 |
分治法 |
395、667 |
排序算法 |
147、148 |
线性筛 |
204 |
摩尔投票法 |
229 |