# LeetCode **Repository Path**: shu-du/LeetCode ## Basic Information - **Project Name**: LeetCode - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-02 - **Last Updated**: 2022-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LeetCode 题目分类及刷题顺序推荐 #### 一. 数组 | 题目分类 | 题目编号 | | -------------------- | --------------------------- | | 数组的遍历 | 485、495、414、628 | | 统计数组中的元素 | 645、697、448、442、41、274 | | 数组的改变、移动 | 453、665、283 | | 二维数组及滚动数组 | 118、119、661、598、419 | | 数组的旋转 | 189、396 | | 特定顺序遍历二维数组 | 54、59、498 | | 二维数组变换 | 566、48、73、289 | | 前缀和数组 | 303、304、238 | #### 二. 字符串 | 题目分类 | 题目编号 | | ------------------ | ------------------------------------------------------------ | | 字符 | 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 | #### 三. 数与位 题目分类 题目编号 数字的位操作 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 简单数学题 492、29、507 快速幂 50、372 #### 四. 栈与递归 题目分类 题目编号 用栈访问最后若干元素 682、71、388 栈与计算器 150、227、224 栈与括号匹配 20、636、591、32 递归 385、341、394 #### 五. 链表 题目分类 题目编号 链表的删除 203、237、19 链表的遍历 430 链表的旋转与反转 61、24、206、92、25 链表高精度加法 2、445 链表的合并 21、23 #### 六. 哈希表 题目分类 题目编号 哈希表的查找、插入及删除 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 #### 八. 双指针法 题目分类 题目编号 头尾指针 345、680、167、15、16、18、11、42 同向双指针、滑动窗口 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 #### 九. 树 题目分类 题目编号 树与递归 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 重构二叉树 105、106 二叉树的展开 114 最近公共祖先 235、236 Morris中序遍历 501、99 四叉树 558、427 #### 十. 图与搜索 题目分类 题目编号 图的建立与应用 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、4 二分查找与旋转数组 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 拒绝采样 470、478、519 #### 十六. 计算几何 题目分类 题目编号 计算几何基础 593、447、223、149 分类讨论法 335 凸包 587 覆盖问题 391 #### 十七. 常用技巧与算法 题目分类 题目编号 博弈论 292 分块 239、164 倍增法 330 拓展欧几里得算法 365 洗牌算法 384 找规律 390、672 分治法 395、667 排序算法 147、148 线性筛 204 摩尔投票法 229