【发布时间】:2020-12-21 16:29:03
【问题描述】:
所以我已经解决了硬币找零的问题,并且我了解它是如何工作的以及一切,但我似乎无法弄清楚如何打印出每个硬币使用了多少。例如,数量为 12,硬币数组为 1、5 和 10,我希望输出如下所示:
Penny. Nickel. Dime
12. 0. 0
7. 1. 0
2. 2. 0
2. 0. 1
我将如何打印出来?我目前拥有的代码是:
public class codingChallenge {
public static void main(String[] args) {
int [] coinsArray = {1, 5, 10};
System.out.println(change(12, coinsArray));
}
public static int change(int amount, int[] coins){
int[] combinations = new int[amount + 1];
combinations[0] = 1;
for(int coin : coins){
for(int i = 1; i < combinations.length; i++){
if(i >= coin){
combinations[i] += combinations[i - coin];
System.out.println(coin);
}
}
System.out.println();
}
return combinations[amount];
}
}
非常感谢任何帮助。谢谢!
【问题讨论】:
-
@Rahul Jain 我不认为这真的是重复的,因为那是在谈论实际的概念。我正在寻找如何像这样打印出来。我有完整的概念和代码来查找有多少可能的结果,我只需要弄清楚如何显示可能的结果。
-
您的
change方法似乎只返回排列数(在本例中为 4),而不是根据需要打印结果所需的实际值集。您能否包含包含硬币集合的代码(或至少生成的数据结构)?
标签: java dynamic-programming coin-change