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

### LeetCode SQL 题目推荐顺序 对于初学者到高级学习者的SQL技能提升,建议按照由易至难的原则逐步深入练习。以下是精心挑选并整理的一系列LeetCode上的SQL题目,旨在帮助用户循序渐进地掌握SQL查询技巧。 #### 基础阶段 此阶段主要目的是熟悉基本语法结构以及常用函数的应用。 - **175. Combine Two Tables** 掌握如何通过`JOIN`操作来组合多个表的数据[^1]。 - **182. Duplicate Emails** 学习识别重复记录的方法,并理解子查询的作用。 - **196. Delete Duplicate Email Addresses** 练习使用DELETE语句删除不需要的数据行。 #### 进阶阶段 随着难度增加,开始接触更复杂的逻辑判断与多条件筛选。 - **176. Second Highest Salary** 实现获取特定排名数据的功能,比如本例中的第二高薪水问。 - **183. Customers Who Never Order** 利用外连接(OUTER JOIN)找出那些从未下单过的客户信息。 - **595. Big Countries** 结合WHERE子句和聚合函数完成对大规模国家列表的有效过滤。 #### 高级阶段 挑战更高层次的任务,涉及窗口函数(Window Function),CTE(Common Table Expression)等高级特性。 - **1070. Product Sales Analysis I~III** 应用多种分析工具解决销售数据分析场景下的复杂需求。 - **184. Department Highest Salary** 使用窗口函数计算部门内部员工薪资分布情况,找到各部门最高薪者。 - **1581. Customer Who Visited but Did Not Make Any Transactions** 尝试构建公共表达式简化嵌套查询过程,提高代码可读性和执行效率。 为了更好地巩固所学知识点,鼓励读者每做完一道后都仔细阅读官方解答和其他优秀选手分享的经验贴,从中汲取灵感不断完善自己的思维方式和技术水平。 ```sql -- 获取第二高的工资示例 SELECT MAX(Salary) AS SecondHighestSalary FROM Employee WHERE Salary != (SELECT MAX(Salary) FROM Employee); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值