算法合集
第03课:数组、链表、跳表
数组:
链表:
第04课:栈、队列、优先队列、双端队列
栈:
双端队列:
第05课:哈希表、映射、集合
哈希表:
第06课:树、图、二叉树、二叉搜索树
二叉树:
第07课:泛型递归、树的递归
*****46. 全排列
*****47. 全排列 II
*****77. 组合
*****98. 验证二叉搜索树
*****104. 二叉树的最大深度
*****105. 从前序与中序遍历序列构造二叉树
*****111. 二叉树的最小深度
*****236. 二叉树的最近公共祖先
*****297. 二叉树的序列化与反序列化
第08课:分治、回溯
*****17. 电话号码的字母组合
*****50. Pow(x, n)
*****51. N皇后
*****78. 子集
*****169. 多数元素
第09课:深度优先搜索和广度优先搜索
*****102. 二叉树的层序遍历
*****433. 最小基因变化
*****126. 单词接龙 II
*****127. 单词接龙
*****200. 岛屿数量
*****515. 在每个树行中找最大值
*****529. 扫雷游戏
第10课:贪心算法
*****45. 跳跃游戏 II
*****55. 跳跃游戏
*****122. 买卖股票的最佳时机 II
*****455. 分发饼干
*****860. 柠檬水找零
*****874. 模拟行走机器人
第11课:二分查找
*****33. 搜索旋转排序数组
*****69. x 的平方根
*****74. 搜索二维矩阵
*****153. 寻找旋转排序数组中的最小值
*****367. 有效的完全平方数
第12课:动态规划
*****32. 最长有效括号
*****53. 最大子序和
*****45. 跳跃游戏 II
*****55. 跳跃游戏
*****62. 不同路径
*****63. 不同路径 II
*****64. 最小路径和
*****(重点)72. 编辑距离
*****76. 最小覆盖子串
*****91. 解码方法
*****120. 三角形最小路径和
*****121. 买卖股票的最佳时机
*****122. 买卖股票的最佳时机 II
*****123. 买卖股票的最佳时机 III
*****152. 乘积最大子数组
*****188. 买卖股票的最佳时机 IV
*****198. 打家劫舍
*****213. 打家劫舍 II
*****221. 最大正方形
*****279. 完全平方数
*****309. 最佳买卖股票时机含冷冻期
*****312. 戳气球
*****322. 零钱兑换
*****403. 青蛙过河
*****410. 分割数组的最大值
*****518. 零钱兑换 II
*****552. 学生出勤记录 II
*****621. 任务调度器
*****647. 回文子串
*****714. 买卖股票的最佳时机含手续费
*****980. 不同路径 III
*****1143. 最长公共子序列
第13课:字典树和并查集
字典树:
*****208. 实现 Trie (前缀树)
*****212. 单词搜索 II
并查集:
*****130. 被围绕的区域
*****200. 岛屿数量
*****547. 朋友圈
第14课:高级搜索
1.剪枝
2.双向BFS
3.启发式搜索(A*)
回溯:
*****36. 有效的数独
*****37. 解数独
*****51. N皇后
双向BFS:
*****127. 单词接龙
*****433. 最小基因变化
启发式搜索(A*):
*****37. 解数独
*****773. 滑动谜题
*****1091. 二进制矩阵中的最短路径
第15课:高级树、AVL树和红黑树
无题目
第16课:位运算
*****51. N皇后
*****52. N皇后 II
*****190. 颠倒二进制位
*****191. 位1的个数
*****231. 2的幂
*****338. 比特位计数
第17课:布隆过滤器、LRU Cache
*****146. LRU缓存机制
第18课:排序算法
*****56. 合并区间
*****493. 翻转对
*****1122. 数组的相对排序
*****1244:付费
第19课:高级动态规划
*****32. 最长有效括号
*****85. 最大矩形
*****91. 解码方法
*****115. 不同的子序列
*****300. 最长上升子序列
*****818. 赛车
第20课:字符串
基础问题:
*****8. 字符串转换整数 (atoi)
*****58. 最后一个单词的长度
*****387. 字符串中的第一个唯一字符
*****709. 转换成小写字母
*****771. 宝石与石头
字符串操作问题:
*****14. 最长公共前缀
*****151. 翻转字符串里的单词
*****344. 反转字符串
*****541. 反转字符串 II
*****557. 反转字符串中的单词 III
*****917. 仅仅反转字母
*****242. 有效的字母异位词
*****438. 找到字符串中所有字母异位词
Palindrome回文串问题:
*****125. 验证回文串
*****680. 验证回文字符串 Ⅱ
最长子串、子序列:
*****1143. 最长公共子序列
*****72. 编辑距离
字符串+递归 OR DP:
重点:详细讲解,由浅入深
*****10. 正则表达式匹配
*****44. 通配符匹配
*****115. 不同的子序列
字符串匹配算法: