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];
}