原始的實(shí)現(xiàn)句喜,有重復(fù)計(jì)算
public static long F(int N){
if(N == 0) return 0;
if(N == 1) return 1;
return F(N-1) + F(N-2)
}
更好的實(shí)現(xiàn)囱嫩,用數(shù)組保存已經(jīng)計(jì)算過(guò)的值
public static long fib(int n){
long value[] = new long[n+1];
value[1] = 1;
long result = fibonacci(n, value);
return result;
}
public static long fibonacci(int n, long[] value){
if (n==0) return 0;
if (n==1) return 1;
if(value[n]>1) return value[n];
return value[n] = fibonacci(n-1, value) + fibonacci(n-2, value);
}