我正在尝试实施一个程序,该程序计算从硬币列表中获取特定金额的可能性数量,但我收到错误
方法硬币(int)未定义类型Money“在此行中的硬币(s-1):
返回梳子(s-1,金额,硬币)+梳子(s,金额 - 硬币(s-1),硬币);
这是我的代码
class List<T> {
T head;
List<T> tail;
List(T head, List<T> tail) {
this.head = head;
this.tail = tail;
}
static <U> List<U> node(U head, List<U> tail) {
return new List<U>(head, tail);
}
}
public class Money{
//should count number of combinations to get change amount amount
static int comb(int s, int amount, List<Integer> coins) {
if (amount == 0 )
return 1;
else if (amount < 0)
return 0;
return comb(s-1, amount, coins) + comb(s, amount-coins(s-1), coins);
有什么问题?
答案 0 :(得分:1)
我认为您的问题是您尝试访问列表元素的方式。
return comb(s-1, amount, coins) + comb(s, amount-coins(s-1), coins);
应该是:
return comb(s-1, amount, coins) + comb(s, amount-coins.get(s-1), coins);
Coins是一个列表,因此您应该使用coins.get(index)来访问单个元素。 Here是关于Java列表的更多信息。