动态规划(完全背包):力扣518零钱兑换
//完全背包
public int change(int amount, int[] coins) {
int []dp=new int[amount+1];
//组合问题:初始化非0下标为0,0下标为1
Arrays.fill(dp,0);
dp[0]=1;
//组合问题先遍历物品,后遍历背包
for (int i = 0; i <coins.length; i++) {
for (int j = coins[i]; j <=amount ; j++) {
//组合问题递推公式为加和
dp[j]+=dp[j-coins[i]];
}
}
return dp[amount];
}
public int change(int amount, int[] coins) {
int []dp=new int[amount+1];
//组合问题:初始化非0下标为0,0下标为1
Arrays.fill(dp,0);
dp[0]=1;
//组合问题先遍历物品,后遍历背包
for (int i = 0; i <coins.length; i++) {
for (int j = coins[i]; j <=amount ; j++) {
//组合问题递推公式为加和
dp[j]+=dp[j-coins[i]];
}
}
return dp[amount];
}
全部评论
相关推荐
03-08 21:48
哈尔滨理工大学 游戏后端 点赞 评论 收藏
分享
查看12道真题和解析