代码:
class Solution {
public:
int dp[101]={0};
int fib(int n) {
//递归
/*if(n<2) return n;
return (fib(n-1)%1000000007+fib(n-2)%1000000007)%1000000007;*/
//迭代
/*int a[2]={0,1};
if(n<2) return n;
for(int i=2;i<=n;++i){
a[i&1]=(a[(i-1)&1]%1000000007+a[(i-2)&1]%1000000007)%1000000007;
}
return a[n&1];*/
//动态规划
/*dp[0]=0; dp[1]=1;
if(n<2) return dp[n];
if(dp[n]==0)
dp[n] = (fib(n-1)%1000000007+fib(n-2)%1000000007)%1000000007;
return dp[n];*/
}
};
大佬对递归,动态规划讲解:
链接: https://labuladong.gitbook.io/algo/shu-ju-jie-gou-xi-lie.