Skip to content

dunwu/algorithm-tutorial

Repository files navigation

logo

star fork build code style

ALGORITHM-TUTORIAL

💾 algorithm-tutorial 是一个数据结构与算法教程。

掌握数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。

📖 内容

img

💻 刷题

链表

双指针技巧秒杀七道链表题目

题目 掌握度
141. 环形链表 已掌握
142. 环形链表 II 已掌握
160. 相交链表 已掌握
19. 删除链表的倒数第 N 个结点 已掌握
21. 合并两个有序链表 已掌握
23. 合并 K 个升序链表 已掌握
86. 分隔链表 已掌握
876. 链表的中间结点 已掌握
剑指 Offer 22. 链表中倒数第 k 个节点 已掌握

【练习】链表双指针经典习题

题目 掌握度
82. 删除排序链表中的重复元素 II 已掌握
378. 有序矩阵中第 K 小的元素 未掌握
373. 查找和最小的 K 对数字 未掌握
2. 两数相加 已掌握
445. 两数相加 II 已掌握

如何判断回文链表

单链表的花式反转方法汇总

题目 掌握度
206. 反转链表 未掌握
92. 反转链表 II 不熟练
25. K 个一组翻转链表 不熟练

数组

双指针技巧秒杀七道数组题目

题目 掌握度
26. 删除有序数组中的重复项 已掌握
27. 移除元素 已掌握
283. 移动零 已掌握
704. 二分查找 已掌握
1. 两数之和 已掌握
167. 两数之和 II - 输入有序数组 已掌握
LCR 179. 查找总价格为目标值的两个商品 已掌握
LCR 006. 两数之和 II - 输入有序数组 已掌握
344. 反转字符串 已掌握
5. 最长回文子串 未掌握

二维数组的花式遍历技巧

题目 掌握度
48. 旋转图像 未掌握
54. 螺旋矩阵 未掌握
59. 螺旋矩阵 II 未掌握

数组双指针经典习题

题目 掌握度
80. 删除有序数组中的重复项 II 已掌握
125. 验证回文串 已掌握
75. 颜色分类 已掌握
88. 合并两个有序数组 未掌握
977. 有序数组的平方 已掌握
1329. 将矩阵按对角线排序 未掌握
1260. 二维网格迁移
867. 转置矩阵 已掌握
14. 最长公共前缀 已掌握

滑动窗口算法核心代码模板

题目 掌握度
76. 最小覆盖子串 未掌握
567. 字符串的排列

二分搜索

题目 掌握度
875. 爱吃香蕉的珂珂 未掌握
1011. 在 D 天内送达包裹的能力 未掌握
410. 分割数组的最大值 未掌握

前缀和数组

题目 掌握度
303. 区域和检索 - 数组不可变 不熟练
304. 二维区域和检索 - 矩阵不可变 未掌握

差分数组

题目 掌握度
1094. 拼车
1109. 航班预订统计
370. 区间加法

栈和队列

队列实现栈以及栈实现队列

题目 掌握度
225. 用队列实现栈 不熟练
232. 用栈实现队列 已掌握

栈的经典习题

题目 掌握度
71. 简化路径 不熟练
143. 重排链表 已掌握
20. 有效的括号 已掌握
150. 逆波兰表达式求值 已掌握
388. 文件的最长绝对路径 未掌握
155. 最小栈
895. 最大频率栈

队列的经典习题

题目 掌握度
933. 最近的请求次数 不熟练
622. 设计循环队列

单调栈算法模板

题目 掌握度
496. 下一个更大元素 I
503. 下一个更大元素 II
739. 每日温度
剑指 Offer II 038. 每日温度

二叉树

基础

题目 掌握度
104. 二叉树的最大深度 已掌握
111. 二叉树的最小深度 已掌握
144. 二叉树的前序遍历 已掌握
94. 二叉树的中序遍历 已掌握
145. 二叉树的后序遍历 已掌握
102. 二叉树的层序遍历 不熟练
107. 二叉树的层序遍历 II 已掌握
543. 二叉树的直径 未掌握
114. 二叉树展开为链表 已掌握
116. 填充每个节点的下一个右侧节点指针 已掌握
117. 填充每个节点的下一个右侧节点指针 II 已掌握
226. 翻转二叉树 已掌握
654. 最大二叉树 已掌握
297. 二叉树的序列化与反序列化 未掌握
222. 完全二叉树的节点个数 已掌握

用「遍历」思维解题

题目 掌握度
257. 二叉树的所有路径 未掌握
129. 求根节点到叶节点数字之和 已掌握
199. 二叉树的右视图 已掌握
988. 从叶结点开始的最小字符串 已掌握
1022. 从根到叶的二进制数之和 已掌握
1457. 二叉树中的伪回文路径 已掌握
404. 左叶子之和 已掌握
623. 在二叉树中增加一行 已掌握

用「分解」思维解题

题目 掌握度
105. 从前序与中序遍历序列构造二叉树 已掌握
106. 从中序与后序遍历序列构造二叉树 已掌握
889. 根据前序和后序遍历构造二叉树 已掌握
331. 验证二叉树的前序序列化
894. 所有可能的真二叉树
998. 最大二叉树 II
1110. 删点成林

动态规划

题目 掌握度
322. 零钱兑换
509. 斐波那契数

贪心算法

题目 掌握度
55. 跳跃游戏
45. 跳跃游戏 II

分治算法

题目 掌握度
23. 合并 K 个升序链表 已掌握

📚 资料

🚪 传送

| 技术文档归档 | 算法和数据结构教程系列 |

Releases

No releases published

Packages

No packages published

Languages