zoukankan      html  css  js  c++  java
  • 斐波那契数列

    写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:

    F(0) = 0,   F(1) = 1
    F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
    斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。

    求斐波那契数可以用两种方式实现,分别是递归和循环。两种方式各有特点:递归实现节省空间但是相对循环实现耗时更多。

    1.递归实现:

    class Solution {
    public:
        int fib(int N) {
        if(N==0)
            return 0;
        if(N==1)
            return 1;
        return fib(N-1) + fib(N-2);
        }
    };
    

    2.循环实现:

    class Solution {
    public:
        int fib(int N) {
            int arr[110];
            arr[0]=0,arr[1]=1;
            if(N==0)
                return 0;
            if(N==1)
                return 1;
            for(int i=2;i<N;i++)
                arr[i] = (arr[i-1] + arr[i-2])%(int)(1e9+7);
    
            return arr[N]%1000000007;
        }
    };
    
  • 相关阅读:
    B树,B+树
    中断
    死锁
    无锁队列
    Cookie和Session
    分布式系统一致性
    c++ 标准库迭代器失效
    html5 app图片预加载
    html5 手机APP计算高度问题
    html5 750 REM JS换算方法
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/13549336.html
Copyright © 2011-2022 走看看