题目描述:

解法思路:
求斐波那契数列,最重要的是掌握递归的思想,就是当n大于等于2时,n等于前两个数之和。但是力扣中有时间限制,使用递归的方法会超出限定时间。所以我们可以使用动态规划的方法,定义一个for循环,定义变量fn,f0,f1。fn等于f0加上f1然后取模的值,然后f0等于原来f1的值,f1等于原来fn的值,这样相当于元素往后移一位。当循环结束时候,返回fn即可。
代码实现:
class Solution {
public int fib(int n) {
int f0=0,f1=1,fn=0;
if(n==0||n==1) return n;
else{
for(int i=2;i<=n;i++){
fn=(f0+f1)%1000000007;
f0=f1;
f1=fn;
}
return fn;
}
}
}
执行结果:

本文介绍了一种高效求解斐波那契数列的方法,避免了传统递归方法的时间限制问题,通过动态规划实现了快速计算。文章详细解释了动态规划的思路,并提供了具体的代码实现。
903





