6,斐波那契数列《剑指offer》

题目:

现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39

思路:

递归会导致超时或者超内存的问题,改用循环,因为f(n)=f(n-1)+f(n-2) 所以只需要保留前两个数值就能求出当前的数值

代码:

class Solution {
public:
    int Fibonacci(int n) {
       int res[]={0,1};
       if(n<2)return res[n];
       int fibOne=1;
       int fibTwo=0;
       int fibN=0;
       for(int i=2;i<=n;i++){
           fibN=fibOne+fibTwo;
           fibTwo=fibOne;
           fibOne=fibN;
       }
       return fibN;
    }
};

  

posted @ 2017-09-13 13:42  llauser  阅读(152)  评论(0)    收藏  举报