1. 动态规划基本思路
2. 基础题目
2.1 斐波那契数 509. Fibonacci Number 💚
2.2 爬楼梯 70. Climbing Stairs 💚
2.3 最小花费爬楼梯 746. Min Cost Climbing Stairs 💚
2.4 不同路径 62. Unique Paths 🧡
2.5 不同路径II 63. Unique Paths II 🧡
2.6 整数拆分 343. Integer Break 🧡
2.7 不同的二叉搜索树 96. Unique Binary Search Trees 🧡
3. 背包问题
3.1 01背包
3.1.1 01背包理论基础
3.1.2 分割等和子集 416. Partition Equal Subset Sum 🧡
3.1.3 最后一块石头的重量II 1049. Last Stone Weight II 🧡
3.1.4 目标和 494. Target Sum 🧡
3.1.5 一和零 474. Ones and Zeroes 🧡
3.2 完全背包
3.2.1 完全背包理论基础
3.2.2 零钱兑换II 518. Coin Change II 🧡
3.2.3 组合总和IV 377. Combination Sum IV 🧡
3.2.4 爬楼梯 70. Climbing Stairs 💚
3.2.5 零钱兑换 322. Coin Change 🧡
3.2.6 完全平方数 279. Perfect Squares 🧡
3.2.7 单词拆分 139. Word Break 🧡
3.3多重背包
4. 打家劫舍
4.1 打家劫舍 198. House Robber 🧡
4.2 打家劫舍II 213. House Robber II 🧡
4.3 打家劫舍III 337. House Robber III 🧡
5. 股票问题
5.1 买卖股票的最佳时机(只能买卖一次)121. Best Time to Buy and Sell Stock 💚
5.2 买卖股票的最佳时机II(可以多次买卖)122. Best Time to Buy and Sell Stock II 🧡
5.3 买卖股票的最佳时机III (最多买卖两次) 123. Best Time to Buy and Sell Stock III ❤️
5.4 买卖股票的最佳时机IV (最多买卖K次) 188. Best Time to Buy and Sell Stock IV ❤️
5.5 最佳买卖股票时机含冷冻期 309. Best Time to Buy and Sell Stock with Cooldown 🧡
5.6 买卖股票的最佳时机含手续费 714. Best Time to Buy and Sell Stock with Transaction Fee 🧡
6. 子序列问题
6.1 不连续子序列
6.1.1 最长上升子序列 300. Longest Increasing Subsequence 🧡
6.1.2 最长公共子序列 1143. Longest Common Subsequence 🧡
6.1.3 不相交的线 1035. Uncrossed Lines 🧡
6.2 连续子序列
6.2.1 最长连续递增序列 674. Longest Continuous Increasing Subsequence 💚
6.2.2 最长重复子数组 718. Maximum Length of Repeated Subarray 🧡
6.2.3 最大子序和 53. Maximum Subarray 🧡
6.3 编辑距离
6.3.1 判断子序列 392. Is Subsequence 💚
6.3.2 不同的子序列 115. Distinct Subsequences ❤️
6.3.3 两个字符串的删除操作 583. Delete Operation for Two Strings 🧡
6.3.4 编辑距离 72. Edit Distance ❤️
6.4 回文
6.4.1 回文子串 647. Palindromic Substrings 🧡
6.4.2 最长回文子序列 516. Longest Palindromic Subsequence 🧡