题目一:求斐波那契数列的第n项。
先上代码。
public int Fibonacci(int n) {
int[] result = {0,1};
if(n < 2)
return result[n];
int fibNMinusTwo = 0;
int fibNMinusOne = 1;
int fibN = 0;
for(int i = 2; i <= n; i++){
fibN = fibNMinusTwo + fibNMinusOne;
fibNMinusTwo = fibNMinusOne;
fibNMinusOne = fibN;
}
return fibN;
}
使用循环的方式,相较递归的方式可以减少非常多的重复计算,效率会大幅提升。在牛客网的OJ提交结果上也可以直观的看出,使用循环的方式执行效率要比递归的方式高很多很多。
网友评论