基础算法
二分法
LeetCode 搜索旋转排序数组1 && 2
二分查找入门攻略
LeetCode 1011. 在 D 天内送达包裹的能力(又是一个二分题目)
LeetCode 第254场周赛
双指针
LeetCode 42. 接雨水(超超超高频面试题)
LCP 28. 采购方案/30. 魔塔游戏
排序
Acwing 785. 快速排序/AcWing 786. 第k个数
荷兰国旗问题,三路快排(LeetCode 75. 颜色分类)
最优秀的排序算法之一(Timsort)
插入排序及应用
前缀和
小巧精美实用的算法小技巧--前缀和
LeetCode 363. 矩形区域不超过 K 的最大数值和
你能在你最喜欢的那天吃到你最喜欢的糖
LeetCode523. 连续的子数组和
LeetCode 等差数列划分 I & II
LeetCode 5882. 网格游戏(前缀和应用)
位运算
LeetCode 191. 位1的个数/AcWing 85. 不用加减乘除做加法
LeetCode 190. 颠倒二进制位/AcWing 77. 翻转单词顺序
剑指系列之位运算的实际操作
贪心
LCP 28. 采购方案/30. 魔塔游戏
数据结构
链表
AcWing 35. 反转链表/LeetCode 92. 反转链表 II
LeetCode 82. 删除排序链表中的重复元素II/AcWing 36. 合并两个排序的链表
LeetCode 61. 旋转链表
剑指系列S22 链表中环的入口结点(环形链表)
二叉树
LeetCode 331. 验证二叉树的前序序列化
783. 二叉搜索树节点最小距离(二叉搜索树)
剑指系列S7 重建二叉树
单调栈
LeetCode 456. 132模式
LCP 28. 采购方案/30. 魔塔游戏
LeetCode 第258场周赛
滑动窗口
优先队列
实战可应用到的数据结构--堆
LeetCode 407. 接雨水 II
LeetCode 1877. 数组中最大数对和的最小值
剑指系列S41 数据流的中位数
字典树
并查集
树状数组
自动机
哈希表
LeetCode 705. 设计哈希集合
LeetCode 1190. 反转每对括号间的子串
LeetCode 149. 直线上最多的点数
动态规划(DP)
背包模型
01背包问题
完全背包问题
LeetCode 518. 零钱兑换 II
多重背包问题
分组背包问题
混合背包问题
二维费用背包问题
LeetCode 879. 盈利计划
有依赖的背包问题
背包问题求方案数
状态机模型
数字三角形模型
LeetCode 403. 青蛙过河(经典题目)
LeetCode 1269. 停在原地的方案数
子序列模型
LeetCode 115. 不同的子序列(第一篇动态规划)
动态规划之最长递增子序列模型
区间DP
LeetCode 664. 奇怪的打印机(区间DP)
状态压缩DP
LeetCode 第258场周赛
其他DP
剑指系列S18 正则表达式匹配
数学问题
质数
最大公约数
LeetCode 第255场周赛
康托对角线
LeetCode 第255场周赛
快速幂
神奇的快速幂
LeetCode 第254场周赛
欧拉函数
博弈论
Leetcode 877. 石子游戏
剑指系列S39 数组中出现次数超过一半的数字
LeetCode 第252场周赛
搜索与图论
BFS
装X的利器,图的BFS遍历,力扣第127题,单词接龙
AcWing 844. 走迷宫(BFS模板)
LeetCode 773. 滑动谜题(八数码问题)
LeetCode 815. 公交路线
LeetCode LCP 07. 传递信息
LeetCode 第254场周赛
最短路问题
Dijkstra
图论基础之Dijkstra求最短路(经典中的经典)
bellman-ford
图论基础之bellman-ford求限制边数的最短路
Floyd
强连通分量
小技巧
逆波兰表达式(后缀表达式)
LeetCode 224. 基本计算器
LeetCode 227. 基本计算器 II
用坐标表示方向
AcWing 844. 蛇形矩阵/LeetCode 54. 螺旋矩阵
二维矩阵变一维数组
LeetCode 74. 搜索二维矩阵
检测当前字符之后的一连串相同字符
LeetCode 726. 原子的数量
剑指系列S14 剪绳子