209道 算法刷题计划
说明:完成情况中的✅表示已完成,❌表示看懂了。
刷题顺序:
基础算法的掌握 (20题)---->链表(23道)---->队列与栈(10道)---->堆(优先队列)---->
二叉树(25道)---->哈希表(20道)---->图(20道)---->回溯(19道)---->
贪心算法 (10道)---->动态规划 (24道)---->数学知识与位运算 (8道)---->并查集(5道)---->
排序(9道)---->字符串与其他(16道)
具体题目
基础算法的掌握
序号
|
题目
|
难度
|
完成进度
|
1
|
两数之和
|
简单
|
✅
|
13
|
罗马数字转整数
|
简单
|
✅
|
26
|
删除有序数组中的重复项
|
简单
|
✅
|
2022
|
将一维数组转变成二维数组
|
简单
|
|
剑指 Offer 39
|
数组中出现次数超过一半的数字
|
简单
|
|
88
|
合并两个有序数组
|
简单
|
|
704
|
二分查找
|
简单
|
✅
|
69
|
x 的平方根
|
简单
|
|
118
|
杨辉三角
|
简单
|
|
125
|
验证回文串
|
简单
|
|
344
|
反转字符串
|
简单
|
|
191
|
位1的个数
|
简单
|
|
326
|
3的幂
|
简单
|
|
204
|
计数质数
|
简单
|
|
2427
|
公因子的数目
|
中等
|
|
1979
|
找出数组的最大公约数
|
中等
|
|
1984
|
学生分数的最小差值
|
简单
|
|
面试题61
|
扑克牌中的顺子
|
简单
|
|
812
|
最大三角形面积
|
中等
|
|
292
|
Nim 游戏
|
简单
|
✅
|
链表
序号
|
题目
|
难度
|
完成进度
|
6
|
从尾到头打印链表
|
简单
|
✅
|
160
|
相交链表
|
简单
|
✅
|
203
|
移除链表元素
|
简单
|
✅
|
19
|
删除链表的倒数第N个结点
|
中等
|
✅
|
876
|
链表的中间结点
|
简单
|
✅
|
21
|
合并两个有序链表
|
简单
|
✅
|
61
|
旋转链表
|
中等
|
✅
|
141
|
环形链表
|
简单
|
✅
|
142
|
环形链表 II
|
中等
|
|
206
|
反转链表
|
简单
|
✅
|
92
|
反转链表 II
|
中等
|
|
25
|
K 个一组翻转链表
|
困难
|
|
83
|
删除排序链表中的重复元素
|
简单
|
|
82
|
删除排序链表中的重复元素 II
|
中等
|
|
148
|
排序链表
|
中等
|
|
234
|
回文链表
|
简单
|
✅
|
382
|
链表随机节点
|
中等
|
|
138
|
复制带随机指针的链表
|
中等
|
|
146
|
LRU 缓存
|
中等
|
|
460
|
LFU 缓存
|
困难
|
|
707
|
设计链表
|
中等
|
|
1290
|
二进制链表转整数
|
简单
|
✅
|
1472
|
设计浏览器历史记录
|
中等
|
|
队列与栈
序号
|
题目
|
难度
|
完成进度
|
225
|
用队列实现栈
|
简单
|
✅
|
232
|
用栈实现队列
|
简单
|
|
20
|
有效的括号
|
简单
|
✅
|
32
|
最长有效括号
|
困难
|
|
150
|
逆波兰表达式求值
|
中等
|
|
155
|
最小栈
|
简单
|
|
239
|
滑动窗口最大值
|
困难
|
|
347
|
前 K 个高频元素
|
中等
|
|
295
|
数据流的中位数
|
困难
|
|
451
|
根据字符出现频率排序
|
中等
|
|
堆(优先队列)
题号
|
题目
|
难度等级
|
完成进度
|
703
|
数据流中的第K大元素
|
简单
|
|
347
|
前K个高频元素
|
中等
|
|
215
|
数组中的第K个最大元素
|
中等
|
|
295
|
数据流的中位数
|
困难
|
|
373
|
查找和最小的K对数字
|
中等
|
|
378
|
有序矩阵中第K小的元素
|
中等
|
|
480
|
滑动窗口中位数
|
困难
|
|
499
|
迷宫 III
|
困难
|
|
502
|
IPO
|
中等
|
|
632
|
最小的区间
|
困难
|
|
692
|
前K个高频单词
|
中等
|
|
703
|
数据流中的第K大元素
|
简单
|
|
767
|
重构字符串
|
中等
|
|
778
|
水位上升的泳池中游泳
|
困难
|
|
973
|
最接近原点的K个点
|
中等
|
|
1167
|
连接棒材的最低费用
|
中等
|
|
1269
|
停在原地的方案数
|
困难
|
|
1354
|
构建回文串 II
|
困难
|
|
1358
|
包含所有三种字符的子字符串数目
|
中等
|
|
1387
|
将整数按权重排序
|
中等
|
|
二叉树
序号
|
题目
|
难度
|
完成进度
|
94
|
二叉树的中序遍历
|
简单
|
✅
|
144
|
二叉树的前序遍历
|
简单
|
✅
|
145
|
二叉树的后序遍历
|
简单
|
✅
|
103
|
二叉树的锯齿形层序遍历
|
中等
|
❌
|
102
|
二叉树的层序遍历
|
中等
|
❌
|
107
|
二叉树的层序遍历 II
|
中等
|
|
105
|
从前序与中序遍历序列构造二叉树
|
中等
|
|
106
|
从中序与后序遍历序列构造二叉树
|
中等
|
|
230
|
二叉搜索树中第K小的元素
|
中等
|
|
剑指 Offer 27
|
二叉树的镜像
|
简单
|
|
101
|
对称二叉树
|
简单
|
|
104
|
二叉树的最大深度
|
简单
|
|
662
|
二叉树最大宽度
|
中等
|
|
110
|
平衡二叉树
|
简单
|
|
199
|
二叉树的右视图
|
中等
|
|
112
|
路径总和
|
简单
|
|
113
|
路径总和 II
|
中等
|
|
437
|
路径总和 III
|
中等
|
|
257
|
二叉树的所有路径
|
简单
|
|
129
|
求根到叶子节点数字之和
|
中等
|
|
235
|
二叉搜索树的最近公共祖先
|
中等
|
|
236
|
二叉树的最近公共祖先
|
中等
|
|
124
|
二叉树中的最大路径和
|
困难
|
|
114
|
二叉树展开为链表
|
中等
|
|
297
|
二叉树的序列化与反序列化
|
困难
|
|
哈希表
题号
|
题目
|
难度等级
|
完成进度
|
1
|
两数之和
|
简单
|
❌
|
169
|
多数元素
|
简单
|
❌
|
217
|
存在重复元素
|
简单
|
|
219
|
存在重复元素 II
|
简单
|
|
242
|
有效的字母异位词
|
简单
|
|
290
|
单词规律
|
简单
|
|
350
|
两个数组的交集 II
|
简单
|
|
387
|
字符串中的第一个唯一字符
|
简单
|
|
594
|
最长和谐子序列
|
简单
|
|
706
|
设计哈希映射
|
简单
|
|
748
|
最短完整词
|
简单
|
|
819
|
最常见的单词
|
简单
|
|
1002
|
查找常用字符
|
简单
|
|
49
|
字母异位词分组
|
中等
|
|
438
|
找到字符串中所有字母异位词
|
中等
|
|
447
|
回旋镖的数量
|
中等
|
|
454
|
四数相加 II
|
中等
|
|
560
|
和为 K 的子数组
|
中等
|
|
740
|
删除并获得点数
|
中等
|
|
974
|
和可被 K 整除的子数组
|
中等
|
|
图
题号
|
题目
|
难度等级
|
完成进度
|
733
|
图像渲染
|
简单
|
|
200
|
岛屿数量
|
中等
|
|
785
|
判断二分图
|
中等
|
|
207
|
课程表
|
中等
|
|
210
|
课程表 II
|
中等
|
|
399
|
除法求值
|
中等
|
|
417
|
太平洋大西洋水流问题
|
中等
|
|
529
|
扫雷游戏
|
中等
|
|
547
|
朋友圈
|
中等
|
|
560
|
和为 K 的子数组
|
中等
|
|
639
|
解码方法 II
|
困难
|
|
677
|
键值映射
|
中等
|
|
765
|
情侣牵手
|
困难
|
|
797
|
所有可能的路径
|
中等
|
|
815
|
公交路线
|
困难
|
|
886
|
可能的二分法
|
中等
|
|
997
|
找到小镇的法官
|
简单
|
|
1203
|
项目管理
|
困难
|
|
1207
|
独一无二的出现次数
|
简单
|
|
1489
|
找到最小生成树里的关键边和伪关键边
|
困难
|
|
回溯
序号
|
题目
|
难度
|
完成进度
|
401
|
二进制手表
|
简单
|
|
22
|
括号生成
|
中等
|
|
17
|
电话号码的字母组合
|
中等
|
|
93
|
复原IP地址
|
中等
|
|
39
|
组合总和
|
中等
|
|
40
|
组合总和 II
|
中等
|
|
216
|
组合总和 III
|
中等
|
|
46
|
全排列
|
中等
|
|
47
|
全排列 II
|
中等
|
|
567
|
字符串的排列
|
中等
|
|
78
|
子集
|
中等
|
|
90
|
子集 II
|
中等
|
|
12
|
矩阵中的路径
|
中等
|
|
13
|
机器人的运动范围
|
中等
|
|
34
|
二叉树中和为某一值的路径
|
中等
|
|
89
|
格雷编码
|
中等
|
|
51
|
N皇后
|
困难
|
|
52
|
N皇后 II
|
困难
|
|
37
|
解数独
|
困难
|
|
贪心算法(10道)
题目编号
|
题目名称
|
难度
|
完成情况
|
455
|
分发饼干
|
简单
|
|
121
|
买卖股票的最佳时机
|
简单
|
|
55
|
跳跃游戏
|
中等
|
|
45
|
跳跃游戏 II
|
中等
|
|
435
|
无重叠区间
|
中等
|
|
714
|
买卖股票的最佳时机含手续费
|
中等
|
|
921
|
使括号有效的最少添加
|
中等
|
|
134
|
加油站
|
中等
|
|
376
|
摆动序列
|
中等
|
|
738
|
单调递增的数字
|
中等
|
|
动态规划(24道)
题目编号
|
题目名称
|
难度
|
完成情况
|
70
|
爬楼梯
|
容易
|
|
112
|
路径总和
|
容易
|
|
113
|
路径总和 II
|
中等
|
|
62
|
不同路径
|
中等
|
|
63
|
不同路径 II
|
中等
|
|
64
|
最小路径和
|
中等
|
|
198
|
打家劫舍
|
中等
|
|
213
|
打家劫舍 II
|
中等
|
|
221
|
最大正方形
|
中等
|
|
322
|
零钱兑换
|
中等
|
|
518
|
零钱兑换 II
|
中等
|
|
5
|
最长回文子串
|
中等
|
|
718
|
最长重复子数组
|
中等
|
|
1143
|
最长上升子序列
|
中等
|
|
121
|
买卖股票的最佳时机
|
容易
|
|
122
|
买卖股票的最佳时机 II
|
中等
|
|
123
|
买卖股票的最佳时机 III
|
困难
|
|
188
|
买卖股票的最佳时机 IV
|
困难
|
|
42
|
接雨水
|
困难
|
|
72
|
编辑距离
|
困难
|
|
10
|
正则表达式匹配
|
困难
|
|
152
|
乘积最大子数组
|
中等
|
|
174
|
地下城游戏
|
困难
|
|
85
|
最大矩形
|
困难
|
|
数学知识与位运算(8道)
题目编号
|
题目名称
|
难度
|
完成情况
|
1201
|
丑数 III
|
中等
|
|
914
|
卡牌分组
|
简单
|
|
1799
|
N 次操作后的最大分数和
|
困难
|
|
204
|
计数质数
|
中等
|
|
172
|
阶乘后的零
|
中等
|
|
136
|
只出现一次的数字
|
简单
|
|
137
|
只出现一次的数字 II
|
中等
|
|
260
|
只出现一次的数字 III
|
中等
|
|
并查集(5道)
题目编号
|
题目名称
|
难度
|
完成情况
|
200
|
岛屿数量
|
中等
|
|
547
|
省份数量
|
中等
|
|
695
|
岛屿的最大面积
|
中等
|
|
1020
|
飞地的数量
|
中等
|
|
721
|
账户合并
|
中等
|
|
排序(9道)
题目编号
|
题目名称
|
难度
|
完成情况
|
912
|
排序数组
|
中等
|
|
315
|
计算右侧小于当前元素的个数
|
困难
|
|
561
|
数组拆分
|
简单
|
|
1122
|
数组的相对排序
|
简单
|
|
268
|
丢失的数字
|
简单
|
|
215
|
数组中的第K个最大元素
|
中等
|
|
347
|
前 K 个高频元素
|
中等
|
|
剑40
|
最小的 k 个数
|
简单
|
|
剑51
|
数组中的逆序对
|
困难
|
|
字符串与其他(16道)
题目编号
|
题目名称
|
难度
|
完成情况
|
14
|
最长公共前缀
|
简单
|
|
6
|
N 字形变换
|
中等
|
|
43
|
字符串相乘
|
中等
|
|
87
|
扰乱字符串
|
困难
|
|
208
|
实现 Trie (前缀树)
|
中等
|
|
415
|
字符串相加
|
简单
|
|
541
|
反转字符串 II
|
简单
|
|
31
|
下一个排列
|
中等
|
|
41
|
缺失的第一个正数
|
困难
|
|
50
|
Pow(x, n)
|
中等
|
|
54
|
螺旋矩阵
|
中等
|
|
59
|
螺旋矩阵 II
|
中等
|
|
65
|
有效数字
|
困难
|
|
268
|
丢失的数字
|
简单
|
|
153
|
寻找旋转排序数组中的最小值
|
中等
|
|
154
|
寻找旋转排序数组中的最小值 II
|
困难
|
|
朱某数据机构与算法学习计划相关推荐
- 开始《数据机构与算法之美》之旅
文章出处:极客时间<数据结构和算法之美>-作者:王争.该系列文章是本人的学习笔记. 还在学算法,就像还在学英语一样悲催.想想自己为什么要学算法.学,是为了用.学了,能理解Java API提 ...
- 分支限界算法c语言_算法学习计划
学习计划 根据王红梅编著的<算法设计与分析>,读取每一章的内容,然后从乐扣上找对应的算法题,包含简单-中等-困难三种程度.尽量每两周能够完成一章.遇到一种类型的问题时,先自己想想解决方案, ...
- hai-AcWing算法学习计划
文章目录 前言 先修知识 算法 平台选用 平台注册 算法学习 结语 致谢 前言 很高兴同学们能够加入hai-AcWing!如果你是计算机专业的新生,想要锻炼实操能力,提高自己的写代码水平,感受计算机的 ...
- 数据结构+算法 学习计划与资源
学了很多杂乱的技术,继续成长 渐感吃力,重新学习数据结构 与 算法. 计划: 1.严蔚敏<数据结构><大话数据结构>,每天一个小例子. 2.采用C++ 或者C .尽量用C++实 ...
- 力扣算法学习计划打卡:第二天
977有序数组的平方,排序算法复习,189轮转数组 https://leetcode-cn.com/study-plan/algorithms/?progress=lv45wk7 有序数组的平方 排序 ...
- 2020年算法学习计划
基础数据结构 1.线性表 []列表(必学) []链表(必学) 2.栈与队列 []栈(必学) []队列(必学) []优先队列.堆(必学) 3.哈希表(必学) []碰撞解决方法:开放定址法.链地址法.再次 ...
- 数据机构与算法:书籍介绍
<大华数据结构>:通俗易懂.语言风趣.适合入门: <算法>:偏向代码实用性,有极其优雅的代码(适合培养代码风格) <算法导论>:偏向理论,重在证明算法的正确性,有大 ...
- 力扣算法学习计划打卡:第六天
3无重复字符的最长子串,567 字符串的排列 无重复字符的最长子串 滑动窗口/双指针 func max(a,b int)int{if a<b{return b}return a }func le ...
- 力扣算法学习计划打卡:第五天
876链表的中间结点,19删除链表的倒数第N个节点 链表的中间结点 用两个指针 slow 与 fast 一起遍历链表.slow 一次走一步,fast 一次走两步.那么当 fast 到达链表的末尾时,s ...
最新文章
- 记录一个无水印 免费的录屏软件 【需要登录哔哩哔哩账号】
- could not load inserted library: /usr/lib/libgmalloc.dylib
- Codeforces Round #481 (Div. 3)【完结】
- 【数据结构】顺序线性表的构造和存储数据
- 【HNOI2019】部分题简要题解
- sql数据库的基本操作
- 带参方法的使用 0908
- Microsoft Azure Remoteapp使用自定义镜像创建桌面服务
- n皇后问的三种解答方式
- win11可以支持win10驱动吗 Windows11更新驱动的步骤方法
- Android设备中直接通过shell操作GPIO或者上层c服务直接操作GPIO
- 在Chrome上安装ie tab插件
- 在Windows上将桌面图标做成贪吃蛇游戏
- 华为ME909之4G模块的开发
- 家用无线路由器的选购技巧
- pkcs8 和 pkcs1 之间 互相 转换
- TensorFlow-gpu使用方法
- 软件(程序)编写通法
- ServU 11 以上版本的数据库用户关联 密码加密原理
- 读安晓辉老师的访谈有感
热门文章
- Edge浏览器使用技巧 —— Edge浏览器源码模式如何打开
- 微信群中报数从【1】到【30】
- D435i—Kalibr标定
- 华为Mate20RS HL2LAYAM原理图纸
- 计算机知识竞赛宣传标题语,知识竞赛参赛宣言标语
- sandboxie游戏不能运行在虚拟环境中如何解决_软件测试中的虚拟化
- 认识和分析系统日志和日志轮循
- linux中sed的基本用法,linux中sed的常用方法.md
- 网络爬虫爬取全国省市区(动态ip代理的获取,实现对ip限制的突破)
- Android面试题【初级工程师版】