题解 | #斐波那契数列#
斐波那契数列
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; } }