我真的不知道如何从递归公式中打印数组

时间:2019-03-29 21:18:00

标签: java recursion

尝试使用递归返回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;
}

2 个答案:

答案 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,这只是递归调用的数量。