题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路分析
斐波那契数列第一、二项为1
,从第三项起为前面两项的和,直接递推或者递归都可以实现;
代码实现
- 递归版本
public class Solution {
public int Fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1 || n == 2) {
return 1;
}else{
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
}
- 递推版本
public class Solution {
public int Fibonacci(int n) {
int ans[] = new int[40];
ans[0] = 0;
ans[1] = 1;
for(int i=2;i<=n;i++){
ans[i] = ans[i-1] + ans[i-2];
}
return ans[n];
}
}