其他分享
首页 > 其他分享> > LeetCode刷题顺序

LeetCode刷题顺序

作者:互联网

date: 2020-11-29 21:28:05

LeetCode刷题顺序

参考自原作者:noone_:https://leetcode-cn.com/circle/article/48kq9d/

一、数组

(1)数组的遍历

题号 描述 完成状态
485. 最大连续1的个数 简单 1
495. 提莫攻击
414. 第三大的数 1
628. 三个数的最大乘积

(2)统计数组中的元素

题号 描述 完成状态
645. 错误的集合
697. 数组的度
448. 找到所有数组中消失的数字
442. 数组中重复的数据
41. 缺失的第一个正数
274. H 指数

(3)数组的改变、移动

题号 描述 完成状态
453. 最小移动次数使数组元素相等
665. 非递减数列
283. 移动零 1

(4)二维数组及滚动数组

题号 描述 状态
118. 杨辉三角
119. 杨辉三角 II
661. 图片平滑器
598. 范围求和 II
419. 甲板上的战舰

(5)数组的旋转

题号 描述 完成状态
189. 旋转数组
396. 旋转函数

(6)特定顺序遍历二维数组

题号 描述 完成状态
54. 螺旋矩阵
59. 螺旋矩阵 II
498. 对角线遍历

(7)二维数组变换

题号 描述 完成状态
566. 重塑矩阵
48. 旋转图像
73. 矩阵置零
289. 生命游戏

(8)前缀和数组

题号 描述 完成状态
303. 区域和检索 - 数组不可变 模板题-前缀和 完成11.29
304. 二维区域和检索 - 矩阵不可变
238. 除自身以外数组的乘积

二、字符串

(1)字符

题号 描述 状态
520. 检测大写字母

(2)回文串的定义

题号
125. 验证回文串

(3)公共前缀

题号
14. 最长公共前缀

(4)单词

题号
434. 字符串中的单词数
58. 最后一个单词的长度

(5)字符串的反转

题号 描述 状态
344. 反转字符串
541. 反转字符串 II
557. 反转字符串中的单词 III
151. 翻转字符串里的单词

(6)字符的统计

题号 描述 状态
387. 字符串中的第一个唯一字符
389. 找不同
383. 赎金信
242. 有效的字母异位词
49. 字母异位词分组
451. 根据字符出现频率排序
423. 从英文中重建数字
657. 机器人能否返回原点
551. 学生出勤记录 I
696. 计数二进制子串
467. 环绕字符串中唯一的子字符串
535. TinyURL 的加密与解密

(7)数字与字符串间转换

题号 描述 状态
299. 猜数字游戏
412. Fizz Buzz
506. 相对名次
539. 最小时间差
553. 最优除法
537. 复数乘法
592. 分数加减运算
640. 求解方程
38. 外观数列
443. 压缩字符串
8. 字符串转换整数 (atoi)
13. 罗马数字转整数
12. 整数转罗马数字
273. 整数转换英文表示
165. 比较版本号
481. 神奇字符串

(8)子序列

题号 描述 状态
392. 判断子序列
524. 通过删除字母匹配到字典里最长单词
521. 最长特殊序列 Ⅰ
522. 最长特殊序列 II

(9)高精度运算

题号 描述 状态
66. 加一
67. 二进制求和
415. 字符串相加
43. 字符串相乘
306. 累加数

(10)字符串变换

题号 描述 状态
482. 密钥格式化
6. Z 字形变换
68. 文本左右对齐

(11)字符串匹配

题号 描述 状态
28. 实现 strStr()
686. 重复叠加字符串匹配
459. 重复的子字符串
214. 最短回文串

(12)中心拓展法

题号 描述 状态
5. 最长回文子串
647. 回文子串

三、数与位运算

1、数字的位操作

题号 描述 状态
7. 整数反转
9. 回文数
479. 最大回文数乘积
564. 寻找最近的回文数
231. 2的幂 计算机组成 1
342. 4的幂 计算机组成 1
326. 3的幂
504. 七进制数
263. 丑数
190. 颠倒二进制位
191. 位1的个数
476. 数字的补数
461. 汉明距离
477. 汉明距离总和
693. 交替位二进制数
393. UTF-8 编码验证
172. 阶乘后的零
458. 可怜的小猪
258. 各位相加
319. 灯泡开关
405. 数字转换为十六进制数
171. Excel表列序号
168. Excel表列名称
670. 最大交换
233. 数字 1 的个数
357. 计算各个位数不同的数字个数
400. 第N个数字

2、简单数学题

题号 描述 状态
492. 构造矩形
29. 两数相除
507. 完美数

3、快速幂

题号 描述 状态
50. Pow(x, n)
372. 超级次方

四、 栈与递归

1、用栈访问最后若干元素

题号 描述
682. 棒球比赛
71. 简化路径
388. 文件的最长绝对路径 有点像2020秋招华为那场了

2、栈与计算器

题号
150. 逆波兰表达式求值
227. 基本计算器 II
224. 基本计算器

3、栈与括号匹配

题号 描述
20. 有效的括号 栈-模板题
636. 函数的独占时间
591. 标签验证器
32. 最长有效括号

4、递归

题号
385. 迷你语法分析器
341. 扁平化嵌套列表迭代器
394. 字符串解码

五、链表

(1)链表的删除

题号 描述 状态
203. 移除链表元素 1
237. 删除链表中的节点 1
19. 删除链表的倒数第N个节点 1

(2)链表的遍历

题号
430. 扁平化多级双向链表

(3)链表的旋转与反转

题号 描述 题目
61. 旋转链表 找实习好像做过 1
24. 两两交换链表中的节点
206. 反转链表
92. 反转链表 II
25. K 个一组翻转链表

(4)链表高精度加法

题号
2. 两数相加
445. 两数相加 II

(5)链表的合并

题号 描述 状态
21. 合并两个有序链表 归并模板 1
23. 合并K个升序链表 归并模板 1

六、哈希表

(1)哈希表的查找、插入及删除

题号 描述 状态
217. 存在重复元素 简单 unordered_map模板,不重做!
633. 平方数之和 中等
349. 两个数组的交集 简单 1
128. 最长连续序列
202. 快乐数
500. 键盘行
290. 单词规律
532. 数组中的 k-diff 数对
205. 同构字符串
166. 分数到小数
466. 统计重复个数
138. 复制带随机指针的链表

(2)哈希表与索引

题号 描述 状态
1. 两数之和
167. 两数之和 II - 输入有序数组
599. 两个列表的最小索引总和
219. 存在重复元素 II
220. 存在重复元素 III

(3)哈希表与统计

题号 描述 状态
594. 最长和谐子序列
350. 两个数组的交集 II
554. 砖墙
609. 在系统中查找重复文件
454. 四数相加 II
18. 四数之和

(4)哈希表与前缀和

题号 描述 状态
560. 和为K的子数组
523. 连续的子数组和
525. 连续数组

七、贪心算法

(1)数组与贪心算法

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

(2)子数组与贪心算法

53、134、581、152

(3)子序列与贪心算法

334、376、659

(4)数字与贪心

题号
343. 整数拆分

(5)单调栈法

题号 描述 状态
496. 下一个更大元素 I
503. 下一个更大元素 II
456. 132模式
316. 去除重复字母
402. 移掉K位数字
321. 拼接最大数
84. 柱状图中最大的矩形
85. 最大矩形

八、双指针法

1、头尾指针

题号 描述 状态
345. 反转字符串中的元音字母
680. 验证回文字符串 Ⅱ
167. 两数之和 II - 输入有序数组
15. 三数之和
16. 最接近的三数之和
18. 四数之和
11. 盛最多水的容器
42. 接雨水

2、同向双指针、滑动窗口

27、26、80、83、82、611、187、643、674、209、3、438、567、424、76、30

3、分段双指针

题号 描述 状态
86. 分隔链表
328. 奇偶链表
160. 相交链表
88. 合并两个有序数组 想起秋招难受(重点)
475. 供暖器

4、快慢指针

题号 描述 状态
141. 环形链表
142. 环形链表 II
143. 重排链表
234. 回文链表
457. 环形数组循环
287. 寻找重复数

九、树(重要)

1、树与递归

题号 描述 状态
100. 相同的树
222. 完全二叉树的节点个数
101. 对称二叉树
226. 翻转二叉树
437. 路径总和 III
563. 二叉树的坡度
617. 合并二叉树
508. 出现次数最多的子树元素和
572. 另一个树的子树
543. 二叉树的直径
654. 最大二叉树
687. 最长同值路径
87. 扰乱字符串

2、树的层次遍历

102、429、690、559、662、671、513、515、637、103、107、257、623、653、104、111、112、113、129、404、199、655、116、117

3、树的前序遍历

题号
144. 二叉树的前序遍历
589. N叉树的前序遍历

4、树的前序序列化

题号
606. 根据二叉树创建字符串
331. 验证二叉树的前序序列化
652. 寻找重复的子树
297. 二叉树的序列化与反序列化
449. 序列化和反序列化二叉搜索树

5、树的后序遍历

题号
145. 二叉树的后序遍历
590. N叉树的后序遍历

6、树的中序遍历与二叉搜索树

94、700、530、538、230、98、173、669、450、110、95、108、109

7、重构二叉树

题号
105. 从前序与中序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树

8、二叉树的展开

题号 描述 状态
114. 二叉树展开为链表

9、最近公共祖先

题号 描述 状态
235. 二叉搜索树的最近公共祖先
236. 二叉树的最近公共祖先

10、Morris中序遍历

题号 描述 状态
501. 二叉搜索树中的众数
99. 恢复二叉搜索树

11、四叉树

题号 描述 状态
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

11、 二分查找(重要)

二分查找应用(简单) 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

12、二进制运算的应用

题目分类 题目编号
异或的应用 89、136、137、260、268
与或非的应用 371、318、201

13、动态规划(重要)

(1)数组中的动态规划

题号 描述 状态
509. 斐波那契数 简单 1
70. 爬楼梯 简单 1
338. 比特位计数
45. 跳跃游戏 II
55. 跳跃游戏
198. 打家劫舍
213. 打家劫舍 II
650. 只有两个键的键盘
91. 解码方法
639. 解码方法 2
552. 学生出勤记录 II
123. 买卖股票的最佳时机 III
188. 买卖股票的最佳时机 IV
309. 最佳买卖股票时机含冷冻期
32. 最长有效括号
264. 丑数 II
313. 超级丑数
403. 青蛙过河

(2)子数组、子序列中的动态规划

题目
689. 三个无重叠子数组的最大和
413. 等差数列划分
446. 等差数列划分 II - 子序列
368. 最大整除子集
416. 分割等和子集
279. 完全平方数

(3)背包问题

题号
322. 零钱兑换
518. 零钱兑换 II
474. 一和零
494. 目标和
377. 组合总和 Ⅳ

(4)矩阵中的动态规划

题号 描述 状态
62. 不同路径
63. 不同路径 II
64. 最小路径和
120. 三角形最小路径和
576. 出界的路径数
688. “马”在棋盘上的概率
221. 最大正方形
629. K个逆序对数组
174. 地下城游戏
96. 不同的二叉搜索树
329. 矩阵中的最长递增路径

(5)动态规划与字符串匹配

题号 描述 状态
583. 两个字符串的删除操作
72. 编辑距离
97. 交错字符串
115. 不同的子序列
516. 最长回文子序列
132. 分割回文串 II
131. 分割回文串
139. 单词拆分
140. 单词拆分 II
514. 自由之路
10. 正则表达式匹配
44. 通配符匹配

(6)状态压缩动态规划

题号 描述 状态
464. 我能赢吗
691. 贴纸拼词
698. 划分为k个相等的子集
638. 大礼包
473. 火柴拼正方形

(7)区间中的动态规划

题号 描述
486. 预测赢家
664. 奇怪的打印机
375. 猜数字大小 II
312. 戳气球
546. 移除盒子

(8)树形dp

题号 描述 状态
337. 打家劫舍 III
124. 二叉树中的最大路径和

(9)数位dp

题号 描述 状态
233. 数字 1 的个数
600. 不含连续1的非负整数

14. 设计数据结构(重要)

(1)设计——栈与队列

225、232、284、622、641、155

(2)设计——哈希表

676、355、380、381

(3)设计——哈希与双向链表

432、146、460

(4)前缀树

208、211、648、386、677、472、421、212、336、440

(5)堆

23、373、378、632、347、692、502、630、407、295、480

(6)树状数组

题号 描述 状态
307. 区域和检索 - 数组可修改
315. 计算右侧小于当前元素的个数
493. 翻转对
327. 区间和的个数
673. 最长递增子序列的个数

(7)线段树

题号
699. 掉落的方块

(8)平衡树(set/map)

题号
352. 将数据流变为多个不相交区间
218. 天际线问题
363. 矩形区域不超过 K 的最大数值和

15、小众算法

(1)采样

题目分类 题目编号
按权值采样 528、497
蓄水池抽样 382、398
拒绝采样 470、478、519

(2)计算几何

题目分类 题目编号
计算几何基础 593、447、223、149
分类讨论法 335
凸包 587
覆盖问题 391

16、 常用技巧与算法

(1)博弈论

题号 描述 状态
292. Nim 游戏 1

(2)分块

题号 描述 状态
239. 滑动窗口最大值
164. 最大间距

(3)倍增法

题号 描述 状态
330. 按要求补齐数组

(4)拓展欧几里得算法

题号
365. 水壶问题

(5)洗牌算法

题号
384. 打乱数组

(6)找规律

题号
390. 消除游戏
672. 灯泡开关 Ⅱ

(7)分治法

题号
395. 至少有K个重复字符的最长子串
667. 优美的排列 II

(8)排序算法

题号
147. 对链表进行插入排序
148. 排序链表

(9)线性筛

题号
204. 计数质数

(10)摩尔投票法

题号
229. 求众数 II

标签:II,顺序,状态,LeetCode,链表,数组,刷题,题号,描述
来源: https://www.cnblogs.com/hacv/p/14311406.html