剣指offer 66道:フィボナッチ数列

7670 ワード

剣指offer 66道-python+JavaScript
  • フィボナッチ数列
  • 構想
  • github
  • タイトルコード(python)
  • github
  • タイトルコード(JavaScript)
  • フィボナッチ数列
    時間制限:1秒空間制限:32768 K熱指数:485327
    タイトルの説明では、フィボナッチ数列を知っていますが、整数nを入力する必要があります.フィボナッチ数列のn番目の項目(0から0番目)を出力してください.n<=39
    構想
    ここでは再帰の代わりにサイクルを用い,時間複雑度はO(n)である.
    github
    pythonコードリンク:https://github.com/seattlegirl/jianzhioffer/blob/master/fibonacci.py.
    タイトルコード(python)
    # -*- coding:utf-8 -*-
    class Solution:
        def Fibonacci(self, n):
            # write code here
            result=[0]*(n+1)
            if n==0:
                return 0
            if n==1:
                return 1
            result[0]=0
            result[1]=1
            for i in range(2,n+1):
                result[i]=result[i-1]+result[i-2]
            return result[n]
    
    if __name__ == "__main__":
        print(Solution().Fibonacci(0))
    

    github
    JavaScriptコードリンク:https://github.com/seattlegirl/jianzhioffer/blob/master/fibonacci.js.
    テーマコード(JavaScript)
    function Fibonacci(n)
    {
        // write code here
        var result=new Array(10)//       10   
        if(n===0){
            return 0;
        }
        if(n==1){
            return 1;
        }
        result[0]=0;
        result[1]=1;
        for(var i=2;i<=n;i++){
            result[i]=result[i-1]+result[i-2];
        }
        return result[n]
    }
    console.log(Fibonacci(5))