九章算法Twitter 微博前端 - React 项目实战
// 假定 f(n) 是组成n分情况的总和
// 对于 每个硬币 COIN
// = 不使用 COIN + 使用 COIN
// = 使用0个COIN + 使用1个COIN + 使用2个COIN + ... + 使用i个COIN
public static int howManyCoins(int n) {
int[] result = new int[n + 1];
result[0] = 1;
for (int coin : coins) {
// 对于每个 COIN,可以组成 COIN 分,COIN + 1 分 ... n分
for (int i = coin; i <= n; i++) {
result[i] = (result[i] + result[i - coin]) % 1000000007;
}
}
return result[n];
}}