剑指Offer:斐波那契数列

一.简介

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0) n<=39

 

二.迭代

class Solution {
public:
    int Fibonacci(int n) {

        if(n <= 1){
            return n;
        }
        int a[] = {0, 1};
        int sum = 0;
        for(int i = 2; i <= n; i++){
            sum = a[0] + a[1];
            a[0] = a [1] ;
            a[1] = sum;
        }
        return sum;
        
    }
};

 

恭喜你通过本题

运行时间:5ms

占用内存:500k

 

三.递归

class Solution {
public:
    int Fibonacci(int n) {

     if(n == 1 || n == 2)
            return 1;
        if(n >= 3){
            return Fibonacci(n - 1) + Fibonacci(n - 2);
        }
        return 0;
        
    }
}

 

恭喜你通过本题

运行时间:873ms

占用内存:376k

 

posted @ 2019-06-21 15:14  言午丶  阅读(153)  评论(0)    收藏  举报