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);
            
        }
        
    };
    

      

  • 相关阅读:
    关于input()
    HDU 3746
    HDU 4335 Contest 4
    HDU 4418 高斯消元法求概率DP
    HDU 4339 Contest 4
    HDU 4334 Contest 4
    HDU 4333 Contest 4
    HDU 4332 Contest 4
    HDU 4035
    HDU 4336
  • 原文地址:https://www.cnblogs.com/lelelelele/p/6089593.html
Copyright © 2011-2022 走看看