题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39
思路:
解法一:递归,但是测试用例n过大会不通过
解法二:迭代,代码如下
//时间复杂度O(N),空间复杂度O(1).也可以用数组做,不过空间复杂度就O(N)
class Solution {
public:
int Fibonacci(int n)
{
if(n==0 ||n==1) return n;
int f1 = 0;
int f2 = 1;
int fn;
for(int i = 2;i<=n;i++)
{
fn = f1+f2;
f1 = f2;
f2 = fn;
}
return fn;
}
};