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

DAY39 62.不同路徑 + 63. 不同路徑 II

這篇具有很好參考價(jià)值的文章主要介紹了DAY39 62.不同路徑 + 63. 不同路徑 II。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

62.不同路徑

題目要求:一個(gè)機(jī)器人位于一個(gè) m x n 網(wǎng)格的左上角 (起始點(diǎn)在下圖中標(biāo)記為 “Start” )。

機(jī)器人每次只能向下或者向右移動一步。機(jī)器人試圖達(dá)到網(wǎng)格的右下角(在下圖中標(biāo)記為 “Finish” )。

問總共有多少條不同的路徑?

思路

根據(jù)“機(jī)器人每次只能向下或者向右移動一步”,狀態(tài)轉(zhuǎn)移方程應(yīng)該是dp[i][j]? = dp[i][j-1] + dp[i-1][j],其中dp數(shù)組代表了到達(dá)當(dāng)前位置的走法個(gè)數(shù)。

因此初始條件應(yīng)該是dp[0][j] = 1; dp[i][0] = 1;

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<vector<int>> dp(m, vector<int>(n, 0));
        for (int i = 0; i < m; ++i) {
            dp[i][0] = 1;
        }
        for (int j = 0; j < n; ++j) {
            dp[0][j] = 1;
        }
        for (int i = 1; i < m; ++i) {
            for (int j = 1; j < n; ++j) {
                dp[i][j] = dp[i-1][j] + dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
};

63. 不同路徑 II

一個(gè)機(jī)器人位于一個(gè) m x n 網(wǎng)格的左上角 (起始點(diǎn)在下圖中標(biāo)記為“Start” )。

機(jī)器人每次只能向下或者向右移動一步。機(jī)器人試圖達(dá)到網(wǎng)格的右下角(在下圖中標(biāo)記為“Finish”)。

現(xiàn)在考慮網(wǎng)格中有障礙物。那么從左上角到右下角將會有多少條不同的路徑?

網(wǎng)格中的障礙物和空位置分別用 1 和 0 來表示。

思路

遇到空格就跳過,到達(dá)空格位置的走法個(gè)數(shù)是0,沿用上一題的思路。

不能給第一行和第一列全部賦值成1,因?yàn)橹虚g可能會有障礙物,因此注意初始化代碼循環(huán)中的終止條件。文章來源地址http://www.zghlxwxcb.cn/news/detail-726101.html

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int m = obstacleGrid.size();
        int n = obstacleGrid[0].size();
        vector<vector<int>> dp(m, vector<int>(n, 0));
        for (int i = 0; i < m && obstacleGrid[i][0] == 0; ++i) {
            dp[i][0] = 1;
        }
        for (int j = 0; j < n && obstacleGrid[0][j] == 0; ++j) {
            dp[0][j] = 1;
        }
        for (int i = 1; i < m; ++i) {
            for (int j = 1; j < n; ++j) {
                if (obstacleGrid[i][j] == 1) continue;
                else dp[i][j] = dp[i-1][j] + dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
};

到了這里,關(guān)于DAY39 62.不同路徑 + 63. 不同路徑 II的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(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)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

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

相關(guān)文章

  • LeetCode算法題解(動態(tài)規(guī)劃)|LeetCoed62. 不同路徑、LeetCode63. 不同路徑 II

    LeetCode算法題解(動態(tài)規(guī)劃)|LeetCoed62. 不同路徑、LeetCode63. 不同路徑 II

    題目鏈接:62. 不同路徑 題目描述: 一個(gè)機(jī)器人位于一個(gè)? m x n ? 網(wǎng)格的左上角 (起始點(diǎn)在下圖中標(biāo)記為 “Start” )。 機(jī)器人每次只能向下或者向右移動一步。機(jī)器人試圖達(dá)到網(wǎng)格的右下角(在下圖中標(biāo)記為 “Finish” )。 問總共有多少條不同的路徑? 示例 1: 示例 2:

    2024年02月05日
    瀏覽(33)
  • 我在代碼隨想錄|寫代碼Day33 | 動態(tài)規(guī)劃| 路徑問題| 62.不同路徑,63. 不同路徑 II,343. 整數(shù)拆分

    我在代碼隨想錄|寫代碼Day33 | 動態(tài)規(guī)劃| 路徑問題| 62.不同路徑,63. 不同路徑 II,343. 整數(shù)拆分

    ??博客介紹`: 27dCnc ??系列專欄: 數(shù)據(jù)結(jié)構(gòu)與算法 算法入門 C++項(xiàng)目 ?? 當(dāng)前專欄: 算法入門 專題 : 數(shù)據(jù)結(jié)構(gòu)幫助小白快速入門算法 ???????????????????????? ☆*: .?. o(≧▽≦)o .?.:*☆ ??感謝大家點(diǎn)贊??收藏?評論?? 今日學(xué)習(xí)打卡 代碼隨想錄 - 動態(tài)規(guī)劃

    2024年03月11日
    瀏覽(96)
  • 力扣算法刷題Day39|動態(tài)規(guī)劃:不同路徑 I&II

    力扣題目:#62.不同路徑 刷題時(shí)長:參考題解后10min 解題方法:動規(guī) 復(fù)雜度分析 時(shí)間O(m*n) 空間O(m*n) 問題總結(jié) 初始化二維數(shù)組的python語法:i 對應(yīng) m,j 對應(yīng)n 二維遍歷順序,從上到下從左到右通過兩層for循環(huán)實(shí)現(xiàn),其中startindex應(yīng)為1 本題收獲 動規(guī)思路 確定dp數(shù)組及下標(biāo)的含義

    2024年02月12日
    瀏覽(19)
  • 代碼隨想錄第39天 | 62.不同路徑 、 63. 不同路徑 II

    代碼隨想錄第39天 | 62.不同路徑 、 63. 不同路徑 II

    一、前言 參考文獻(xiàn):代碼隨想錄 今天主要的題目是動態(tài)規(guī)劃的路徑問題,動態(tài)規(guī)劃五要點(diǎn); 1、確定dp數(shù)組,dp[i]代表什么i代表什么; 2、遞推公式; 3、初始化dp數(shù)組; 4、遍歷順序; 5、打印dp數(shù)組; 二、不同路徑 1、思路: 我感覺動態(tài)規(guī)劃,我聽的很認(rèn)真,然后這個(gè)題目,

    2024年04月13日
    瀏覽(57)
  • 代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II

    代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II

    動規(guī)五部曲 1.確定dp數(shù)組含義 2.確定遞推公式 3.初始化數(shù)組 4.確定遍歷方式 5.打印dp數(shù)組查看分析問題 題目鏈接:62. 不同路徑 - 力扣(LeetCode) 注:n行m列而不是m行n列 1.確定dp數(shù)組含義 代表到達(dá)此下標(biāo)有多少條路徑 2.確定遞推公式 因?yàn)橹荒芟蛴一蛘呦蛳伦?所以到達(dá)i,j這個(gè)點(diǎn)的

    2024年02月06日
    瀏覽(27)
  • 算法隨想錄第三十九天打卡|62.不同路徑 , 63. 不同路徑 II

    本題大家掌握動態(tài)規(guī)劃的方法就可以。?數(shù)論方法?有點(diǎn)非主流,很難想到。? 代碼隨想錄 視頻講解: 動態(tài)規(guī)劃中如何初始化很重要!| LeetCode:62.不同路徑_嗶哩嗶哩_bilibili 總結(jié) 把m和n弄反了。 https://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.htmlhttps://programmercarl.com/00

    2024年01月20日
    瀏覽(37)
  • 算法day39|動態(tài)規(guī)劃:不同路徑Ⅰ、Ⅱ

    https://leetcode.cn/problems/unique-paths/ 了解下標(biāo)含義——這里是行列數(shù) 理解為什么dfs不能做這道題(超時(shí)) https://leetcode.cn/problems/unique-paths-ii/ 初始化時(shí)也應(yīng)該注意限制條件 注意特殊情況的判斷

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

    509. 斐波那契數(shù) 斐波那契數(shù) (通常用 F(n) 表示)形成的序列稱為 斐波那契數(shù)列 。該數(shù)列由 0 和 1 開始,后面的每一項(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 ,請計(jì)算 F(n) 。 70.爬樓梯 746.使用最小花費(fèi)爬樓梯 給你一個(gè)整數(shù)

    2023年04月23日
    瀏覽(24)
  • 力扣:63. 不同路徑 II(動態(tài)規(guī)劃)

    力扣:63. 不同路徑 II(動態(tài)規(guī)劃)

    一個(gè)機(jī)器人位于一個(gè) m x n 網(wǎng)格的左上角 (起始點(diǎn)在下圖中標(biāo)記為 “Start” )。 機(jī)器人每次只能向下或者向右移動一步。機(jī)器人試圖達(dá)到網(wǎng)格的右下角(在下圖中標(biāo)記為 “Finish”)。 現(xiàn)在考慮網(wǎng)格中有障礙物。那么從左上角到右下角將會有多少條不同的路徑? 網(wǎng)格中的障礙

    2024年01月18日
    瀏覽(24)
  • leetcode63. 不同路徑 II(動態(tài)規(guī)劃-java)

    leetcode63. 不同路徑 II(動態(tài)規(guī)劃-java)

    來源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/unique-paths-ii 一個(gè)機(jī)器人位于一個(gè) m x n 網(wǎng)格的左上角 (起始點(diǎn)在下圖中標(biāo)記為 “Start” )。 機(jī)器人每次只能向下或者向右移動一步。機(jī)器人試圖達(dá)到網(wǎng)格的右下角(在下圖中標(biāo)記為 “Finish”)。 現(xiàn)在考慮網(wǎng)格中有障礙物。

    2024年02月11日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包