价值:记录学习过程的思考,本身就是一场动态规划的前生,记忆化搜索。
class Solution {
public int fib0(int n) {
//答案需要取模 1e9+7(1000000007) ,如计算初始结果为:1000000008,请返回 1。
int mod = 1000000007;
if(n == 0) return 0;
if(n == 1) return 1;
int [] dp = new int[n+1];
dp[0] = 0;
dp[1] = 1;
for(int i = 2; i<=n;i++){
dp[i] = (dp[i-1] + dp[i-2]) % mod;
}
return dp[n];
}
public int fib(int n) {
int mod = 1000000007;
if(n == 0) return 0;
if(n == 1) return 1;
int l = 0;
int r = 1;
int ans = 0;
for(int i = 2; i<=n;i++){
ans = (l + r) % mod;
l = r;
r = ans;
}
return ans;
}
}