美文网首页
[剑指offer][07]斐波那契数列

[剑指offer][07]斐波那契数列

作者: FloatingIsland | 来源:发表于2018-06-21 18:59 被阅读0次
    题目描述:

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

    解题思路:

    思路一:递归(时间复杂度高)


    斐波那契数列递归公式

    思路二:循环
    用两个变量保存前两个数值,计算两个变量的和并更新变量,这样只需计算一次。

    代码实现
    思路1:递归
    class Solution {
    public:
        int Fibonacci(int n) {
            if(n<=0)  
              return 0;  
            if(n==1)  
              return 1;  
            return Fabonacci(n-1)+Fabonacci(n-2);  
        }
    };
    
    思路2:循环
    class Solution {
    public:
        int Fibonacci(int n) {
            int res[2]={0,1};
            if(n<2){
                return res[n];
            }
            int fib1,fib2,fib;
            fib1=0;
            fib2=1;
            fib=0;
            for(int i=2;i<=n;i++){
                fib=fib1+fib2;
                fib1=fib2;
                fib2=fib;
            }
            return fib;
        }
    };
    };
    
    参考链接

    斐波那契数列

    相关文章

      网友评论

          本文标题:[剑指offer][07]斐波那契数列

          本文链接:https://www.haomeiwen.com/subject/dwrosftx.html