为什么要使用数组,数组在每次调用方法递归时都会重新实例化一个新的数组,数组中元素也是默认的,那么递归条件
数组的意义在哪里,以及fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];这条语句的作用是什么,
为什么要返回一个数组而不是直接返回一个递归结束的结果数值呢?
public class Fibonacci {
public static long[] F(int N) {
long[] fibonacci = new long[N + 1];
if (N == 0) {
return fibonacci;
}
fibonacci[1] = 1;
if (N == 1) {
return fibonacci;
}
for (int i = 2; i <= N; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
return fibonacci;
}
public static void main(String[] args) {
long[] fibonacci = F(99);
for (int N = 0; N < fibonacci.length; N++) {
StdOut.println(N + " " + fibonacci[N]);
}
}
}