动态规划之完全背包
文章平均质量分 66
FDDY!
欢迎跟我一起打卡学习
展开
-
详解【0-1背包】和【完全背包】问题
帮助新人了解最常见的【0-1背包】和【完全背包】问题原创 2024-07-19 14:18:40 · 964 阅读 · 0 评论 -
LeetCode 322题 零钱兑换
(2).确定递推公式:凑成金额为j-coins[i]的最少个数是dp[j-coins[i]],然后再加上一个硬币coins[i]就能够凑成金额j。所以dp[j]=dp[j-coins[i]]+1。递推公式为:dp[j]=min(dp[j-coins[i]]+1,dp[j])再根据题目中的每种硬币可以被选择无限次,我们就可以套用[完全背包]的推导公式进行调整 (m为硬币的个数,n为amount的值。(6).空间复杂度分析:O(n)。需要开辟一个长度为n的空间。dp[j]:凑成金额为j所需硬币的最少个数。原创 2024-07-17 21:24:59 · 435 阅读 · 0 评论 -
LeetCode 279 完全平方数
看到可以取一个数的随机个数凑成一个特定值的时候,我们就应该想到 [完全背包] 问题。如果不能,现在就要开始培养这种习惯:这个问题并没有给出可以选择的完全平方数数组,所以我们需要将可以使用的完全平方数数字列出来促成一个可供选择的数字数组 [nums] ,从而就与 [完全背包] 有异曲同工之妙。看到题目目标值最大为10000,所以完全平方数的最大值为100,将1-100放入nums数组中。最后这个题就转化为从 [nums] 中选取凑成目标值的最少数字个数,每个数字可以无限使用。原创 2024-07-18 15:20:43 · 345 阅读 · 0 评论