代码随想录算法训练营第三十九天 | 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包理论基础、背包问题总结
一、322. 零钱兑换
题目链接:322. 零钱兑换 - 力扣(LeetCode)
文章讲解:代码随想录 (programmercarl.com)——322. 零钱兑换
视频讲解:动态规划之完全背包,装满背包最少的物品件数是多少?| LeetCode:322.零钱兑换_哔哩哔哩_bilibili
思路:
动态规划五部曲:
1. 确定 dp 数组及下标含义:
2. 确定递推公式:
3. 确定dp数组如何初始化:
4. 确定遍历顺序:
5. 举例推导dp数组。
二、279.完全平方数
题目链接:279. 完全平方数 - 力扣(LeetCode)
文章讲解:代码随想录 (programmercarl.com)——279.完全平方数
视频讲解:动态规划之完全背包,换汤不换药!| LeetCode:279.完全平方数_哔哩哔哩_bilibili
思路:
动态规划五部曲:
1. 确定 dp 数组及下标含义:
2. 确定递推公式:
3. 确定dp数组如何初始化:
4. 确定遍历顺序:
5. 举例推导dp数组。
三、139.单词拆分
题目链接:139. 单词拆分 - 力扣(LeetCode)
文章讲解:代码随想录 (programmercarl.com)——139.单词拆分
视频讲解:动态规划之完全背包,你的背包如何装满?| LeetCode:139.单词拆分_哔哩哔哩_bilibili
思路:
动态规划五部曲:
1. 确定 dp 数组及下标含义:
2. 确定递推公式:
3. 确定dp数组如何初始化:
4. 确定遍历顺序:
5. 举例推导dp数组。
四、多重背包理论基础
代码随想录 (programmercarl.com)——多重背包理论基础