//访问网站,获取更多题解:https://www.algomooc.com
class Solution {
public int fib(int n) {
//边界判断
if(n == 0) return 0;
//用于存储第 0 到 n 个数对应的值
int[] dp = new int[n + 1];
//先定义好第一个数
dp[0] = 0;
//再定义好第二个数
dp[1] = 1;
//计算大于 0 和大于 1 的值
for(int i = 2; i <= n; i++){
//当遇到之前计算过的数时,将不再递归往下找,直接用记忆化结果
dp[i] = dp[i-1] + dp[i-2];
//题目要求进行取模处理
dp[i] %= 1000000007;
}
//返回结果
return dp[n];
}
}
剑指 Offer 10- I. 斐波那契数列
最新推荐文章于 2024-10-17 19:06:39 发布