题目描述:
代码如下:
方法1:(超100%)
class Solution {
public:
int fib(int N) {
int a=0;
int b=1;
int c;
if(N==0)
{
return a;
}
else if(N==1)
{
return b;
}
else
{
for(int i=1;i<N;i++)
{
c=a+b;
a=b;
b=c;
}
return c;
}
}
};
方法2:(动规思想)
class Solution {
public:
int fib(int N) {
vector<int>v(N+2,0);
v[0]=0;
v[1]=1;
for(int i=2;i<=N;i++){
v[i]=v[i-1]+v[i-2];
}
return v[N];
}
};
方法3:(暴力递归)
class Solution {
public:
int fib(int N) {
if (N==0) return 0;
if (N==1) return 1;
return fib(N - 1) + fib(N - 2);
}
};