请注意控制循环次数,循环次数应该去除掉初始变量的次数。
/**
* 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项
* (从0开始,第0项为0,第1项是1)。
* n<=39
* @param n 整数n
* @return 斐波那契数列的第n项
*/
public int Fibonacci(int n) {
if (n < 2) {
return n;
}
int f1 = 0, f2 = 1;
int fn = f1+f2;
for (int i = 2; i <= n; i++) {
fn = (f1 + f2)%1000000007;
f1 = f2;
f2 = fn;
}
return fn;
}
防止重复计算



京公网安备 11010502036488号