just 复习些概念,写写点代码。。。
public static int f (int n) {
if (n == 0) return 0;
if (n == 1) return 1;
return f(n - 1) + f(n - 2);
}
public static int f1 (int n) {
if (n == 0) return 0;
if (n == 1) return 1;
int[] tempArr = new int[]{0,1};
int temp = 0;
for (int i = 2; i <= n; i ++) {
temp = tempArr[0] + tempArr[1];
tempArr[i % 2] = temp;
}
return temp;
}
public static int f2 (int n) {
if (n == 0) return 0;
if (n == 1) return 1;
int[] arr = new int[n + 1];
arr[0] = 0;
arr[1] = 1;
for (int i = 2; i <= n; i ++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[n - 1];
}
本文介绍了三种不同的方法来实现斐波那契数列:递归方式、使用固定大小数组迭代计算以及使用动态数组迭代计算。每种方法都有其特点,递归方式简洁但效率较低,而迭代方法虽然代码稍显复杂,但在处理大数据时表现更优。
629

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



