题目

代码
public class Solution {
public int coinChange(int[] coins, int amount) {
int max = amount + 1;
int[] dp = new int[max];
Arrays.fill(dp, max);
dp[0] = 0;
for (int i = 1; i <= amount; i++) { //i代表金额
for (int j = 0; j < coins.length; j++) { //j表示数量
if (coins[j] <= i) {
//i元需要兑换的硬币个数
dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1);
}
}
}return dp[amount] > amount ? -1 : dp[amount];
}
}
结果


这篇博客分享了一段Java代码,用于解决322号LeetCode问题——零钱兑换。代码使用动态规划求解,通过遍历不同面额的硬币和目标金额,找到最少的硬币数量。若无法兑换,则返回-1。
3026

被折叠的 条评论
为什么被折叠?



