dp[s] 表示凑成金额 s 的组合数。初始化 dp[0]=1(凑成 0 元有 1 种“什么都不选”的方式)。c,对 s 从 c 到 amount,执行 dp[s] += dp[s - c]。最终答案为 dp[amount]。amount=0 时,答案为 1;若无法凑出,则 dp[amount] 自然为 0。给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。
请计算并返回可以凑成总金额的硬币组合数(顺序不同视为同一种组合)。如果任意硬币组合都无法凑出总金额,返回 0。
假设每种面额的硬币都有无限个。题目数据保证结果符合 64 位带符号整数。
N, amount,分别表示硬币种类数和总金额。N 个互不相同的正整数,表示 coins[i] 的面额。输出一个整数,表示能够凑成总金额的组合数。
3 5
1 2 5
4
本题属于以下题库,请选择所需题库进行购买