java版
class Solution {
// 斐波那契数列-Java
public int fib(int n) {
if(n<2) return n;
int dp1=0,dp2=1;
int sum=0;
for(int i=2;i<=n;i++){
sum=dp1+dp2;
dp1=dp2;
dp2=sum;
}
return sum;
}
}
C++版
class Solution {
public:
int fib(int n) {
if(n<2) return n;
int f[n+1];
f[0]=0;f[1]=1;
for(int i=2;i<=n;i++){
f[i]=f[i-1]+f[i-2];
}
return f[n];
}
};
递归
class Solution {
// 斐波那契数列-Java
public int fib(int n) {
if(n<2) return n;
return fib(n-1)+fib(n-2);
}
}if(n<2) return n;
return fib(n-1)+fib(n-2);