Java斐波那契數列的第n項(從0開始,第0項為0,第1項是1)。

這瓜保熟麼發表於2020-11-07

斐波那契數列(Fibonacci sequence)指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、0、1、1、2、3、5、8、13、21、34、……在數學上,斐波那契數列以如下被以遞推的方法定義:

F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 3,∈ N*)

題目描述

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

n<=39

示例1

輸入

4

返回值

3

 

public class Solution {
    public int Fibonacci(int n) {
        
    //         return Fibonacci(n) + Fibonacci(n-1);
        
      return Fibonacci2(n);
        
    }
    
    public int Fibonacci2(int n){
        //arr[0]=0 arr[1]=1 陣列前2個元素是邊界值 先放進去,第n個再存進去 所以是n+2的長度
        int[] arr = new int[n+2];
        int i;
        arr[0] = 0;
        arr[1] = 1;
        
        if(n == 0){
            return arr[0];
        }else if(n == 1){
            return arr[1];
        }else{
            //從斐波那契的0 1 1 2 3 5....的第2個元素開始往後推算
            for(i=2;i<=n;i++){
                arr[i] = arr[i-1] + arr[i-2];
            }
            return arr[n];
        }
    }
    
 
}

 

相關文章