/**
* 用数组实现斐波那契数列(Fibonacci sequence)
* @param i 数列下标
* @return 对应的值
*/
public static int fib(int i) {
if (i < 0) {
throw new IllegalArgumentException();
}
if (i < 2) {
return i;
}
int[] arr = new int[i + 1];
arr[0] = 0;
arr[1] = 1;
for (int j = 2; j <= i; j++) {
arr[j] = arr[j - 1] + arr[j - 2];
}
return arr[i];
}
/**
* 用递归实现斐波那契数列(Fibonacci sequence)
* @param i 数列下标
* @return 对应的值
*/
public static int fib1(int i) {
if (i < 0) {
throw new IllegalArgumentException();
}
if (i < 2) {
return i;
}
return fib1(i - 1) + fib1(i - 2);
}
分别用数组和递归实现斐波那契数列
于 2021-03-09 14:15:55 首次发布