1. 程式人生 > >JavaScript算法系列之-----------------斐波那契數列(JS實現)

JavaScript算法系列之-----------------斐波那契數列(JS實現)

esc 算法 題目 要求 n-1 return 系列 斐波那契數列 通過

題目描述

大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。

n<=39

遞歸實現:

function Fibonacci(n){
      if(n<0){
            return -1;    
      }
      if(n===0){
            return 0;
      }
      if(n===1){
            retunr 1;
      }
      if(n>1){
             return Fibonacci(n-1)+Fibonacci(n-2);
      }
}    

遞歸實現效率較低,未能編譯通過。

正常實現:

function Fibonacci(n){
    if(n<=1){
        return n;
    }else{
        var pre = 0;
        var cur = 1;
        for(var i=2;i<=n;i++){
            cur = pre + cur;
            pre = cur - pre;
        }
        return cur
    }
}

JavaScript算法系列之-----------------斐波那契數列(JS實現)