斐波拉契数列

题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

分析:看到这种类型,一般会想到使用递归实现,这样比较简单,但是不能被AC掉,因为超时,所以只有采用非递归算法

思路:采用的方法是循环完成前后两项相加

C++代码:

class Solution {
public:
    int Fibonacci(int n) {
        int a = 1;
        int b = 1;
        if(n<=0){
            return 0;
        }
        if(n == 1 || n == 2){
            return 1;
        }
        for(int i=2; i<n; i++){
            int result = a+b;
            a = b;
            b = result;
        }
        return b;
    }
};


你可能感兴趣的:(斐波拉契数列)