K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
应该先遍历硬币面额,再正序遍历金额容量,dp数组定义为dp[i]表示凑成金额i的组合数,初始dp[0]=1,转移方程为dp[j] += dp[j - coins[i]],该方法可以得到正确结果
应该先遍历金额容量,再遍历硬币面额,dp数组定义为dp[i]表示凑成金额i的组合数,初始dp[0]=1,转移方程为dp[j] += dp[j - coins[i]],该方法可以得到正确结果
该问题和0-1背包求解组合数的实现逻辑完全一致,仅需将物品遍历顺序反转即可得到正确结果
该问题的转移方程应该为dp[j] = max(dp[j], dp[j - coins[i]] + 1),可以得到正确的组合数结果