大家都知道斐波那契数列,现要求输入一个整数n,请输出斐波那契数列的第n项(从0开始,第0项是0,第1项是1)。
首先,我们先来了解一下斐波那契数列,斐波那契数列又称之为黄金分割数列,其数列为:0,1,1,2,3,5,8,13,21,34…该数列从第三项开始,每一项都等于前两项之和。
即:
当 n<1时,f(n)=0;
当n=1时,f(n)=1;
当n>1时,f(n)=f(n-1)+f(n-2).
综上所诉,可得出代码如下:
public class Solution {
public int Fibonacci (int n){
if(n<1){
return 0;
}
int a = 1;
int b = 1;
int temp;
for(int i = 0; i <= n; i++){
temp = a;
a = b;
b = b + temp;
}
return b;
}
}
上面所示的代码是根据公式直接具现的代码,时间和空间上并没有达到最佳,但是用于理解恰好适当。也欢迎前辈在评论区提出自己的优化建议,提供不同的思路,相互学习。