n<=39
典型的递归例子
但是如果用递归的话,系统会分配一个很大的n反复调用本函数,占用太多内存
class Solution {
public:
int Fibonacci(int n)
{
int a1=0;
int a2=1;
int an;
if(n==0)
return 0;
if(n==1)
return 1;
for(int i=2;i<=n;i++)
{
an=a1+a2;
a1=a2;
a2=an;
}
return an;
}
};
递归的用法:
class Solution {
public:
int Fibonacci(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
return Fibonacci(n-1)+Fibonacci(n-2) ;
}
};