K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知有无限枚不同面额的硬币存放在coins数组中,目标金额为amount,要求计算有多少种不同的硬币组合可以凑出总金额amount,硬币选取顺序不同不算作不同组合。
外层遍历硬币面额,内层从小到大遍历金额,递推式为dp[i] += dp[i - coin],可以正确得到组合数
dp[i] += dp[i - coin]
外层遍历金额,内层遍历硬币面额,递推式为dp[i] += dp[i - coin],可以正确得到组合数
该问题和普通完全背包求最大价值的遍历顺序完全一致,得到的结果也相同
必须将dp数组初始化为全0才能得到正确结果