非递归 使用循环
class Solution {
public:
int fib(int n) {
if(n==0){return 0;}
if(n==1){return 1;}
int f1=0;
int f2=1;
int f=0;
for(int i=0;i<n-1;i++)
{
f=(f1+f2)%1000000007;
f1=f2;
f2=f;
}
return f;
}
};
递归实现(这个方法超时了)
int findn(int n)
{
if(n==0)
{return 0;}
if(n==1)
{return 1;}
int f=findn(n-1)+findn(n-2);
return f;
}
class Solution {
public:
int fib(int n) {
int f=findn(n);
return f;
}
};