斐波那契数列-10
输入一个整数 n ,求斐波那契数列的第 n 项。
假定从 0 开始,第 0 项为 0。(n <= 39)
样例
输入整数 n=5
返回 5
思路:
多种方法
public class Solution {
// 递归
public static int fabonacci(int n) {
if (n <= 0)
return 0;
if (n == 1)
return 1;
return fabonacci(n - 1) + fabonacci(n - 2);
}
// 动态规划
public int Fibonacci(int n) {
if (n < 2) return n;
int[] dp = new int[n + 1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[n];
}
// 使用两个变量实现的动态规划
public static int fabonacci1(int n) {
if(n < 2) return n;
int temp1 = 0;
int temp2 = 1;
int result = 0;
for (int i = 2; i <= n; i++) {
result = temp1 + temp2;
temp1 = temp2;
temp2 = result;
}
return result;
}
}