尝试使用递归返回Fibonacci序列的int数组。但我只是不知道如何将其放入数组
public int[] fibArray(int n){
int[] result = new int[n];
if(n<=2){
result[0] = 1;
result[1] = 1;
}else{
result[n] = fibArray[n-1] + fibArray[n-2];
}
return result;
}
答案 0 :(得分:2)
您将方法视为数组。它返回一个数组,不是一个数组。
[[0 1]
[2 3]
[6 7]
[4 5]]
答案 1 :(得分:0)
您将需要在fibArray
函数外部初始化数组。
int[] callingFunc(int size){
int[] myFibArray = new int[size]
myFibArray[0] = 1;
myFibArray[1] = 2;
myFibArray = fibArray(2, myFibArray)
}
public int[] fibArray(int n){
//Your fib function
return result;
}
您现在拥有的方式是,在每个递归调用中初始化一个新数组,并将大小设置为n,这只是递归调用的数量。