Fibonacci
难度:Easy
备注:斐波那契数列,出自《剑指offer》
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为
0)。
n<=39
int Fibonacci(int n)
分析:
斐波那契数列定义:F(n)=F(n-1)+F(n-2)(n>=2,n∈N*),其中F(1)=1,F(2)=1
动态规划
- 状态:F(n)
- 状态递推:F(n)=F(n-1)+F(n-2)
- 初始值:F(1)=F(2)=1
- 返回结果:F(N)
代码:
public int Fibonacci(int n) {
if (n == 0) return 0;
if (n == 1) return 1;
int[] F = new int[n + 1];
F[0] = 0;
F[1] = 1;
for (int i = 2; i <= n; i++) {
F[i] = F[i - 1] + F[i - 2];
}
return F[n];
}