题解 | #斐波那契数列#
斐波那契数列
http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3
public class Solution {
public int Fibonacci(int n) {
//斐波那契额数列为 0,1,1,2,3,4,7,所以第0项为0,第一项为1
if(n ==0 || n == 1) return n;
//由于需要知道前面两位数,才可以计算出下一位数值,所以先定义两个变量
int first = 0;//目标值往前推两位的值
int last = 1;//目标值往前推一位的值
//由于前两项已经有了,所以循环从2开始
for(int i=2;i<=n;i++){
//前两项数据相加,得出当前需要的目标值,如果循环没结束,该值为目标值往前推一位的数据
last = first + last;
//更新往前推两位的数据的值
first = last - first;
}
//返回第N项数据的值
return last;
}
}
查看1道真题和解析