题目描述
n<=39
class Solution {
public:
int Fibonacci(int n) {
//F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
//递归法
// if(n==0) return 0;
// if(n==1) return 1;
// return Fibonacci(n-2)+Fibonacci(n-1);
//非递归法。。
//偷工减料。
/* vector<int> tmp(40);
tmp[0]=0;
tmp[1]=1;
if(n<=0) return n;
//if(n==1) return 1;
int i=2;
while(i<=n)
{
tmp[i]=tmp[i-2]+tmp[i-1];
i++;
}
return tmp[n];
*/
//动态规划算法
int f=0;
int g=1;
while(n--)
{
g=g+f;
//f为原g.
f=g-f;
}
return f;
}
};