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

    查找斐波纳契数列中第 N 个数。

    所谓的斐波纳契数列是指:

    • 前2个数是 0 和 1 。
    • 第 i 个数是第 i-1 个数和第i-2 个数的和。

    斐波纳契数列的前10个数字是:

    0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...

    样例

    给定 1,返回 0

    给定 2,返回 1

    给定 10,返回 34

    方法1:数组....

    class Solution{
    public:
        /**
         * @param n: an integer
         * @return an integer f(n)
         */
        int fibonacci(int n) {
            // write your code here
            int a[n];
            a[0]=0;
            a[1]=1;
            for(int i=2;i<n;i++)
               a[i]=a[i-2]+a[i-1];
            return a[n-1];
        }
    };
    

     方法2:

    class Solution{
    public:
        /**
         * @param n: an integer
         * @return an integer f(n)
         */
        int fibonacci(int n) {
            // write your code here
            if(n==1)
              return 0;
            if(n==2)
              return 1;
              int a0=0;
              int a1=1;
              int a;
              for(int i=3;i<=n;i++)//要考虑到细节 第一次做的时候i<n了,就没考虑到n=3的情况。
              {
                  a=a0+a1;
                  a0=a1;
                  a1=a;
                  
              }
              return a;
        }
    };
    

      方法3:递归....耗时长 

    class Solution{
    public:
        /**
         * @param n: an integer
         * @return an integer f(n)
         */
        int fibonacci(int n) {
            // write your code here
      
           if(n==1)
              return 0;
           if(n==2)
              return 1;
         
            return fibonacci(n-1)+fibonacci(n-2);
            
        }
        
    };
    

      

  • 相关阅读:
    数据库系统原理
    Java并发编程详解读书笔记(一)
    Java基础之String
    Java基础之数据类型
    winform BackgroundWorker控件的用法
    汉子转拼音
    model验证(验证登录、注册...)
    Ajax.BeginForm 异步搜索
    Ajax.ActionLink 辅助方法实现局部刷新
    js 随笔
  • 原文地址:https://www.cnblogs.com/lelelelele/p/6089593.html
Copyright © 2011-2022 走看看