溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

LeetCode如何求斐波那契數(shù)列的第n項(xiàng)

發(fā)布時(shí)間:2021-12-15 14:47:11 來(lái)源:億速云 閱讀:217 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹LeetCode如何求斐波那契數(shù)列的第n項(xiàng),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

問(wèn)題簡(jiǎn)述

寫一個(gè)函數(shù),輸入 n ,求斐波那契(Fibonacci)數(shù)列的第 n 項(xiàng)。斐波那契數(shù)列的定義如下:

F(0) = 0,   F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契數(shù)列由 0 和 1 開始,之后的斐波那契數(shù)就是由之前的兩數(shù)相加而得出。

答案需要取模 1e9+7(1000000007),如計(jì)算初始結(jié)果為:1000000008,請(qǐng)返回 1。

示例

示例 1:
輸入:n = 2輸出:1示例 2:
輸入:n = 5輸出:5

題解思路

使用動(dòng)態(tài)規(guī)劃的方式進(jìn)行解決

題解程序


public class FibTest {    public static void main(String[] args) {        int n = 5;        int a = fib(n);        System.out.println("a = " + a);    }
   public static int fib(int n) {        if (n == 0) {            return 0;        }        if (n == 1) {            return 1;        }        int[] dp = new int[n + 1];        dp[0] = 0;        dp[1] = 1;        for (int i = 2; i <= n; i++) {            dp[i] = dp[i - 1] + dp[i - 2];            dp[i] = dp[i] % 1000000007;        }        return dp[n];    }}

題解程序圖片版

LeetCode如何求斐波那契數(shù)列的第n項(xiàng)

以上是“LeetCode如何求斐波那契數(shù)列的第n項(xiàng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI