记录自己刷题的算法笔记,涉及知识点包括算法和数据结构,所用语言包括 java 和 python。后续会持续更新。
1.1 回溯算法
| 类型 | 力扣题目 | 难度 | java代码 | python代码 |
|---|---|---|---|---|
| 全排列 | 46. 全排列 | 中等 | ☑️ | ☑️ |
| 全排列 | 51. N 皇后 | 难 | - | ☑️ |
| 集合 | 698. 划分为k个相等的子集 | 中等 | ☑️ | - |
| 子集 | 78. 子集 | 中等 | ☑️ | - |
| 子集 | 90. 子集 II | 中等 | ☑️ | - |
| 组合 | 77. 组合 | 中等 | ☑️ | - |
| 组合 | 39. 组合总和 | 中等 | ☑️ | - |
| 组合 | 40. 组合总和 II | 中等 | ☑️ | - |
| 组合 | 216. 组合总和 III | 中等 | ☑️ | - |
| 排列 | 46. 全排列 | 中等 | ☑️ | - |
| 排列 | 47. 全排列 II | 中等 | ☑️ | - |
| 数独 | 37. 解数独 | 难 | ☑️ | - |
| 括号生成 | 22. 括号生成 | 中等 | ☑️ | - |
1.2 BFS-DFS
| 类型 | 力扣 | 难度 | java代码 | python代码 |
|---|---|---|---|---|
| DFS | 200. 岛屿数量 | 中等 | ☑️ | - |
| DFS | 1254. 统计封闭岛屿的数目 | 中等 | ☑️ | - |
| DFS | 1020. 飞地的数量 | 中等 | ☑️ | - |
| DFS | 695. 岛屿的最大面积 | 中等 | ☑️ | - |
| DFS | 1905. 统计子岛屿 | 中等 | ☑️ | - |
| DFS | 694. 不同岛屿的数量✨ | 中等 | ☑️ | - |
| BFS | 111. 二叉树的最小深度 | 简单 | ☑️ | - |
| BFS | 752. 打开转盘锁 | 中等 | ☑️ | - |
| BFS | 773. 滑动谜题 | 困难 | ☑️ | - |
1.3 动态规划
| 类型 | 力扣 | 难度 | java代码 | python代码 |
|---|---|---|---|---|
| 动态规划模版讲解 | 509. 斐波那契数 | 简单 | ☑️ | - |
| 动态规划模版讲解 | 322. 零钱兑换 | 中等 | ☑️ | - |
| 动态规划模版讲解 | 300. 最长递增子序列 | 中等 | ☑️ | - |
| 动态规划模版讲解 | 354. 俄罗斯套娃信封问题 | 困难 | ☑️ | - |
| 动态规划模版讲解 | 931. 下降路径最小和 | 中等 | ☑️ | - |
| 回朔/动态规划比较 | 494. 目标和 | 中等 | ☑️ | - |
| 编辑距离 | 72. 编辑距离 | 难 | ☑️ | - |
| 经典例题 | 53. 最大子数组和 | 简单 | ☑️ | - |
| 子序列模版 | 516. 最长回文子序列 | 中等 | ☑️ | - |
| 子序列模版 | 1312. 让字符串成为回文串的最少插入次数 | 困难 | ☑️ | - |
| 最长公共子序列 | 1143. 最长公共子序列 | 中等 | ☑️ | - |
| 最长公共子序列 | 583. 两个字符串的删除操作 | 中等 | ☑️ | - |
| 最长公共子序列 | 712. 两个字符串的最小ASCII删除和 | 中等 | ☑️ | - |
| 子集背包 | 416. 分割等和子集 | 中等 | ☑️ | - |
| 完全背包 | 518. 零钱兑换 II | 中等 | ☑️ | - |
| 简单游戏 | 64. 最小路径和 | 中等 | ☑️ | - |
| 困难游戏 | 174. 地下城游戏 | 困难 | ☑️ | - |
| 困难游戏 | 514. 自由之路 | 困难 | ☑️ | - |
| 加权最短路径 | 787. K 站中转内最便宜的航班 | 中等 | ☑️ | - |
| 经典难题 | 10. 正则表达式匹配 | 困难 | ☑️ | - |
| 经典难题 | 887. 鸡蛋掉落 | 困难 | ☑️ | ☑️ |
| 经典例题 | 198. 打家劫舍 | 中等 | ☑️ | - |
| 经典例题 | 213. 打家劫舍 II | 中等 | ☑️ | - |
| 经典例题 | 337. 打家劫舍 III | 中等 | ☑️ | - |
1.4 贪心算法
| 类型 | 力扣 | 难度 | java代码 | python代码 |
|---|---|---|---|---|
| 区间调度 | [435. 无重叠区间](https://leetcode-cn.com/problems/fibonacci-number) | 中等 | ☑️ | - |
| 区间调度 | [452. 用最少数量的箭引爆气球](https://leetcode-cn.com/problems/fibonacci-number) | 中等 | ☑️ | - |
| 扫描线技巧 | 253. 会议室 II✨ | 中等 | ☑️ | - |
| 区间问题 | 1288. 删除被覆盖区间 | 中等 | ☑️ | - |
| 区间问题 | 56. 合并区间 | 中等 | ☑️ | - |
| 区间问题 | 986. 区间列表的交集 | 中等 | ☑️ | - |
| 区间问题 | 1024. 视频拼接 | 中等 | ☑️ | - |
| 跳跃游戏 | 55. 跳跃游戏 | 简单 | ☑️ | - |
| 跳跃游戏 | 45. 跳跃游戏 II | 中等 | ☑️ | - |
暂无
笔记来自于labuladong 的算法小抄