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

力扣70. 爬樓梯(動(dòng)態(tài)規(guī)劃 Java,C++解法)

這篇具有很好參考價(jià)值的文章主要介紹了力扣70. 爬樓梯(動(dòng)態(tài)規(guī)劃 Java,C++解法)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Problem: 70. 爬樓梯

題目描述

力扣70. 爬樓梯(動(dòng)態(tài)規(guī)劃 Java,C++解法),力扣題目,動(dòng)態(tài)規(guī)劃,leetcode,java

思路

由于本題目中第i層臺(tái)階只能由于第i- 1層臺(tái)階和第i-2層臺(tái)階走來(lái),所以可以聯(lián)想到動(dòng)態(tài)規(guī)劃,具體如下:

1.定義多階段決策模型:對(duì)于每一上臺(tái)階看作一種狀態(tài);
2.定義狀態(tài)轉(zhuǎn)移方程:int[] dp = new int[n + 1]用于記錄第i個(gè)臺(tái)階可以走到的走法;dp[i] = dp[i - 1] + dp[i - 2];

解題方法

1.定義數(shù)組int[] dp = new int[n + 1]用于記錄第i個(gè)臺(tái)階可以走到的走法
2.初始化dp[1] = 1; dp[2] = 2;
3.從dp數(shù)組下標(biāo)為3處開(kāi)始完成動(dòng)態(tài)轉(zhuǎn)移方程;
4.返回dp[n]

復(fù)雜度

時(shí)間復(fù)雜度:

O ( n ) O(n) O(n);其中 n n n為臺(tái)階數(shù)

空間復(fù)雜度:

O ( n ) O(n) O(n)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-809669.html

Code

class Solution {
    /**
     * Dynamic programing
     * @param n The number of stage
     * @return int
     */
    public int climbStairs(int n) {
        if (n <= 2) {
            return n;
        }
        //Record how many moves there are on step i
        int[] dp = new int[n + 1];
        dp[1] = 1;
        dp[2] = 2;
        for (int i = 3; i <= n; ++i) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
}
class Solution {
public:
    int climbStairs(int n) {
        if (n <= 2) {
            return n;
        }
        vector<int> dp(n + 1);
        dp[1] = 1;
        dp[2] = 2;
        for (int i = 3; i <= n; ++i) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
};

到了這里,關(guān)于力扣70. 爬樓梯(動(dòng)態(tài)規(guī)劃 Java,C++解法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 動(dòng)態(tài)規(guī)劃之 70爬樓梯(第2道)

    動(dòng)態(tài)規(guī)劃之 70爬樓梯(第2道)

    題目: 假設(shè)你正在爬樓梯。需要? n ?階你才能到達(dá)樓頂。 每次你可以爬? 1 ?或? 2 ?個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢? 題目鏈接:70. 爬樓梯 - 力扣(LeetCode) 示例: 解法:? 假如爬到第 i 層,那要么是從第 i-1 層爬上來(lái)的,要么是從第 i-2 爬上來(lái)的。

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

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

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

    算法訓(xùn)練第三十八天|動(dòng)態(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 動(dòng)態(tài)規(guī)劃是什么 動(dòng)態(tài)規(guī)劃,英文:Dynamic Programming,簡(jiǎn)稱(chēng)DP,如果某一問(wèn)題有很多重疊子問(wèn)題,使用動(dòng)態(tài)規(guī)劃是最有效的。 所以 動(dòng)態(tài)規(guī)劃中每一個(gè)狀態(tài)一定是由上一個(gè)狀態(tài)推導(dǎo)出來(lái)的 ,這一

    2024年02月04日
    瀏覽(25)
  • 算法 DAY45 動(dòng)態(tài)規(guī)劃07 70. 爬樓梯 322. 零錢(qián)兌換 279. 完全平方數(shù) 139. 單詞拆分 多重背包

    算法 DAY45 動(dòng)態(tài)規(guī)劃07 70. 爬樓梯 322. 零錢(qián)兌換 279. 完全平方數(shù) 139. 單詞拆分 多重背包

    和377. 組合總和 Ⅳ (opens new window)基本就是一道題了。 本題代碼不長(zhǎng),題目也很普通,但稍稍一進(jìn)階就可以考察完全背包 動(dòng)態(tài)規(guī)劃五部曲 1、確定dp[j]的含義 dp[j] 湊成 j 的最少硬幣的個(gè)數(shù) 2、確定遞推公式 比如想湊成3, 如果手里有1,那么最小個(gè)數(shù)就是dp[2]+1 如果手里有2,那

    2024年02月02日
    瀏覽(37)
  • 代碼隨想錄Day32 動(dòng)態(tài)規(guī)劃01 LeetCodeT509 斐波那契數(shù)列 T70 爬樓梯 T746 爬樓梯的最小消耗

    代碼隨想錄Day32 動(dòng)態(tài)規(guī)劃01 LeetCodeT509 斐波那契數(shù)列 T70 爬樓梯 T746 爬樓梯的最小消耗

    動(dòng)態(tài)規(guī)劃首先可以解決的問(wèn)題有背包問(wèn)題,打家劫舍問(wèn)題,股票問(wèn)題,子序列問(wèn)題等,主要是將一個(gè)大的問(wèn)題切分成多個(gè)重疊的子問(wèn)題,所以動(dòng)態(tài)規(guī)劃一定是上一個(gè)狀態(tài)遞推過(guò)來(lái)的,有一個(gè)重要的 狀態(tài)轉(zhuǎn)移方程, 但是這也并不是解題的全部,我們將動(dòng)態(tài)規(guī)劃的題目基本分為五步來(lái)完成

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

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

    2023年04月23日
    瀏覽(24)
  • 【LeetCode熱題100】【動(dòng)態(tài)規(guī)劃】爬樓梯

    題目鏈接:70. 爬樓梯 - 力扣(LeetCode) 就是個(gè)斐波那契數(shù)列,達(dá)到第三個(gè)臺(tái)階的跳法可以從第一個(gè)臺(tái)階直接跳兩步或者是從第二個(gè)臺(tái)階跳一步,因此對(duì)于第n個(gè)臺(tái)階來(lái)說(shuō),可以從第n-2個(gè)臺(tái)階跳兩步到達(dá),也可以從第n-1個(gè)臺(tái)階到達(dá),因此跳到第n個(gè)臺(tái)階的跳法等于前兩個(gè)臺(tái)階的跳

    2024年04月11日
    瀏覽(29)
  • LeetCode使用最小花費(fèi)爬樓梯(動(dòng)態(tài)規(guī)劃)

    LeetCode使用最小花費(fèi)爬樓梯(動(dòng)態(tài)規(guī)劃)

    鏈接: 使用最小花費(fèi)爬樓梯 題目描述 算法流程(方法一) 編程代碼 優(yōu)化代碼 算法流程(方法二) 編程代碼 代碼優(yōu)化

    2024年02月15日
    瀏覽(40)
  • 力扣:70. 爬樓梯(Python3)

    假設(shè)你正在爬樓梯。需要? n ?階你才能到達(dá)樓頂。 每次你可以爬? 1 ?或? 2 ?個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢? 來(lái)源:力扣(LeetCode) 鏈接:力扣(LeetCode)官網(wǎng) - 全球極客摯愛(ài)的技術(shù)成長(zhǎng)平臺(tái) 示例 1: 輸入:n = 2 輸出:2 解釋?zhuān)?示例 2: 輸入:n = 3 輸出:

    2024年02月11日
    瀏覽(18)
  • 動(dòng)態(tài)規(guī)劃之使用最小花費(fèi)爬樓梯【LeetCode】

    動(dòng)態(tài)規(guī)劃之使用最小花費(fèi)爬樓梯【LeetCode】

    LCR 088. 使用最小花費(fèi)爬樓梯 狀態(tài)表示 ( 這是最重要的 ):dp[i]表示以第i級(jí)臺(tái)階為樓層頂部,到達(dá)第i層臺(tái)階的最低花費(fèi)。 狀態(tài)轉(zhuǎn)移方程 ( 最難的 ): dp[i] = min(dp[i-1]+cost[i-1], dp[i-2]+cost[i-2]); 初始化 :根據(jù)題意,我們需要知道到達(dá)第1層和第2層臺(tái)階的最低花費(fèi),第1層和第2層

    2024年03月16日
    瀏覽(33)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包