国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

動態(tài)規(guī)劃-斐波那契數(shù)

這篇具有很好參考價值的文章主要介紹了動態(tài)規(guī)劃-斐波那契數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。


斐波那契數(shù)是一個很好的熟悉和理解動態(tài)規(guī)劃的例子,通過斐波那契數(shù)可以更好的理解動態(tài)規(guī)劃的精髓,動態(tài)規(guī)劃是后面的計算是如何借助于前面的計算結(jié)果來加快計算速度的。

斐波那契數(shù)和斐波那契數(shù)列其實(shí)可以看成是一道題,只不過兩題的限制性條件稍微有差別

1 斐波那契數(shù)

1.1 斐波那契數(shù)

斐波那契數(shù) (通常用 F(n) 表示)形成的序列稱為 斐波那契數(shù)列 。該數(shù)列由 0 和 1 開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是:

F(0) = 0,F(xiàn)(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
給定 n ,請計算 F(n) 。

1.2 示例

1.2.1 示例 1:

輸入:n = 2
輸出:1
解釋:F(2) = F(1) + F(0) = 1 + 0 = 1

1.2.2 示例 2:

輸入:n = 3
輸出:2
解釋:F(3) = F(2) + F(1) = 1 + 1 = 2

1.2.3 示例 3:

輸入:n = 4
輸出:3
解釋:F(4) = F(3) + F(2) = 2 + 1 = 3

1.2.4 提示:

0 <= n <= 30

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/fibonacci-number
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

# 1.3 解題思路和方法

1.3.1 解題思路

如題目所說的,斐波那契數(shù)是最終是要獲得f[n]的斐波那契數(shù)。
其算法轉(zhuǎn)換方程如下:
F(0) = 0,F(xiàn)(1) = 1 /* 動態(tài)規(guī)劃的邊界條件 /
F(n) = F(n - 1) + F(n - 2),其中 n > 1 /
動態(tài)規(guī)劃的轉(zhuǎn)移方程 */

1.3.2 代碼實(shí)現(xiàn)

  • if (n < 2) 判斷當(dāng)前要處理的斐波那契數(shù)的id,依次來判斷是做什么處理,如果是小于2,則直接依據(jù)邊界條件的處理返回其值即可
  • 如果n >= 2,則依據(jù)斐波那契數(shù)的轉(zhuǎn)換方程去做處理 F(n) = F(n - 1) + F(n - 2)
class Solution {
public:
    int fib(int n) {
        if (n < 2) {
            return n;
        }
        vector<int> f(n + 1);

        f[0] = 0;
        f[1] = 1;

        for (int i = 2; i <= n; i++) {
            f[i] = f[i - 1] + f[i - 2];
        }

        return f[n];
    }
};

2 劍指 Offer 10- I. 斐波那契數(shù)列

2.1 斐波那契數(shù)列

寫一個函數(shù),輸入 n ,求斐波那契(Fibonacci)數(shù)列的第 n 項(即 F(N))。斐波那契數(shù)列的定義如下:

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

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

2.2 示例

2.2.1 示例 1:

輸入:n = 2
輸出:1

2.2.2 示例 2:

輸入:n = 5
輸出:5

2.2.3 提示:

0 <= n <= 100文章來源地址http://www.zghlxwxcb.cn/news/detail-624774.html

2.3 題解

class Solution {
    int MOD = 1000000007;
public:
    int fib(int n) {
        if (n < 2) {
            return n;
        }
        vector<int> f(n + 1);

        f[0] = 0;
        f[1] = 1;

        for (int i = 2; i <= n; i++) {
            f[i] = (f[i - 1] + f[i - 2])%MOD;
        }

        return f[n];
    }
};

到了這里,關(guān)于動態(tài)規(guī)劃-斐波那契數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 動態(tài)規(guī)劃-斐波那契數(shù)

    斐波那契數(shù)是一個很好的熟悉和理解動態(tài)規(guī)劃的例子,通過斐波那契數(shù)可以更好的理解動態(tài)規(guī)劃的精髓,動態(tài)規(guī)劃是后面的計算是如何借助于前面的計算結(jié)果來加快計算速度的。 斐波那契數(shù)和斐波那契數(shù)列其實(shí)可以看成是一道題,只不過兩題的限制性條件稍微有差別 斐波那

    2024年02月14日
    瀏覽(18)
  • 算法Day38 | 動態(tài)規(guī)劃,509. 斐波那契數(shù), 70. 爬樓梯, 746. 使用最小花費(fèi)爬樓梯

    動態(tài)規(guī)劃是一種解決問題的算法思想。它通常用于優(yōu)化問題,其中要求找到一個最優(yōu)解或最大化(最小化)某個目標(biāo)函數(shù)。 動態(tài)規(guī)劃的核心思想是 將問題分解成更小的子問題,并通過存儲子問題的解來避免重復(fù)計算 。這樣,可以通過解決子問題來構(gòu)建原始問題的解。動態(tài)規(guī)

    2024年02月09日
    瀏覽(24)
  • LeetCode 509 斐波那契數(shù)(動態(tài)規(guī)劃)

    LeetCode 509 斐波那契數(shù)(動態(tài)規(guī)劃)

    ?509. 斐波那契數(shù) - 力扣(LeetCode) ? 斐波那契數(shù) ?(通常用? F(n) ?表示)形成的序列稱為? 斐波那契數(shù)列 ?。該數(shù)列由? 0 ?和? 1 ?開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是: 給定? n ?,請計算? F(n) ?。 【思路】動態(tài)規(guī)劃 動規(guī)五部曲: 1.確定dp數(shù)組以及下

    2024年02月07日
    瀏覽(26)
  • 動態(tài)規(guī)劃之 509斐波那契數(shù)(第1道)

    動態(tài)規(guī)劃之 509斐波那契數(shù)(第1道)

    題目: 斐波那契數(shù)?(通常用? 表示)形成的序列稱為 斐波那契數(shù)列 。該數(shù)列由?0 和 1 開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是: , ,其中 n 1 給定?n ,請計算 。 題目鏈接:509. 斐波那契數(shù) - 力扣(LeetCode) 示例: 解法:

    2024年02月12日
    瀏覽(24)
  • 算法訓(xùn)練第三十八天|動態(tài)規(guī)劃理論基礎(chǔ)、509. 斐波那契數(shù) 、70. 爬樓梯 、 746. 使用最小花費(fèi)爬樓梯

    算法訓(xùn)練第三十八天|動態(tài)規(guī)劃理論基礎(chǔ)、509. 斐波那契數(shù) 、70. 爬樓梯 、 746. 使用最小花費(fèi)爬樓梯

    參考:https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 動態(tài)規(guī)劃是什么 動態(tài)規(guī)劃,英文:Dynamic Programming,簡稱DP,如果某一問題有很多重疊子問題,使用動態(tài)規(guī)劃是最有效的。 所以 動態(tài)規(guī)劃中每一個狀態(tài)一定是由上一個狀態(tài)推導(dǎo)出來的 ,這一

    2024年02月04日
    瀏覽(25)
  • 力扣第509題 斐波那契數(shù) 新手動態(tài)規(guī)劃(推薦參考) c++

    509. 斐波那契數(shù) 簡單 相關(guān)標(biāo)簽 遞歸? ?記憶化搜索? ?數(shù)學(xué)? ?動態(tài)規(guī)劃 斐波那契數(shù) ?(通常用? F(n) ?表示)形成的序列稱為? 斐波那契數(shù)列 ?。該數(shù)列由? 0 ?和? 1 ?開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是: 給定? n ?,請計算? F(n) ?。 示例 1: 示例 2:

    2024年02月07日
    瀏覽(28)
  • 算法刷刷刷|動態(tài)規(guī)劃篇|509.斐波那契數(shù)| 70.爬樓梯| 746.使用最小花費(fèi)爬樓梯| 62.不同路徑| 63不同路徑2| 343.正數(shù)拆分 | 96.不同的二叉搜索樹

    509. 斐波那契數(shù) 斐波那契數(shù) (通常用 F(n) 表示)形成的序列稱為 斐波那契數(shù)列 。該數(shù)列由 0 和 1 開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是: F(0) = 0,F(xiàn)(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n 1 給定 n ,請計算 F(n) 。 70.爬樓梯 746.使用最小花費(fèi)爬樓梯 給你一個整數(shù)

    2023年04月23日
    瀏覽(24)
  • 【動態(tài)規(guī)劃專欄】專題一:斐波那契數(shù)列模型--------2.三步問題

    【動態(tài)規(guī)劃專欄】專題一:斐波那契數(shù)列模型--------2.三步問題

    本專欄內(nèi)容為:算法學(xué)習(xí)專欄,分為優(yōu)選算法專欄,貪心算法專欄,動態(tài)規(guī)劃專欄以及遞歸,搜索與回溯算法專欄四部分。 通過本專欄的深入學(xué)習(xí),你可以了解并掌握算法。 ??博主csdn個人主頁:小小unicorn ?專欄分類:動態(tài)規(guī)劃專欄 ??代碼倉庫:小小unicorn的代碼倉庫??

    2024年02月21日
    瀏覽(27)
  • 【LeetCode題目詳解】第九章 動態(tài)規(guī)劃part01 509. 斐波那契數(shù) 70. 爬樓梯 746. 使用最小花費(fèi)爬樓梯 (day38補(bǔ))

    【LeetCode題目詳解】第九章 動態(tài)規(guī)劃part01 509. 斐波那契數(shù) 70. 爬樓梯 746. 使用最小花費(fèi)爬樓梯 (day38補(bǔ))

    斐波那契數(shù) ?(通常用? F(n) 表示)形成的序列稱為 斐波那契數(shù)列 。該數(shù)列由? 0 和 1 開始,后面的每一項數(shù)字都是前面兩項數(shù)字的和。也就是: 給定? n ,請計算 F(n) 。 示例 1: 示例 2: 示例 3: 提示: 0 = n = 30 斐波那契數(shù)列大家應(yīng)該非常熟悉不過了,非常適合作為動規(guī)第

    2024年02月07日
    瀏覽(18)
  • 【算法學(xué)習(xí)】斐波那契數(shù)列模型-動態(tài)規(guī)劃

    【算法學(xué)習(xí)】斐波那契數(shù)列模型-動態(tài)規(guī)劃

    ? ? ? ? 我在算法學(xué)習(xí)過程中,針對斐波那契數(shù)列模型的動態(tài)規(guī)劃的例題進(jìn)行了一個整理,并且根據(jù)標(biāo)準(zhǔn)且可靠一點(diǎn)的動態(tài)規(guī)劃解題思路進(jìn)行求解類似的動歸問題,來達(dá)到學(xué)習(xí)和今后復(fù)習(xí)的必要。 ? ? ? ? 所謂的斐波那契數(shù)列模型,即當(dāng)前狀態(tài)的值等于前兩種狀態(tài)的值之和。

    2024年02月04日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包