使用两种方法求解Fibonacci数列,即1,1,2,3,5,8,...
/**
* 递归求解Fibonacci数列
* @param n
* @return
*/
public static int getFibonacci01(int n) {
int[] f = new int[n];
if (n == 0 || n == 1) {
return 1;
}
if (f[n] == 1) {
return f[n];
} else {
return getFibonacci01(n - 1) + getFibonacci01(n - 2);
}
}
/**
* 遍历求前两个和
* @param n
* @return
*/
public static int getFibonacci02(int n) {
int[] f = new int[n];
f[0] = 1;
f[1] = 1;
for (int i = 2; i <= n; i++) {
f[i] = f[i - 1] + f[i - 2];
}
return f[n];
}
8万+

被折叠的 条评论
为什么被折叠?



