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

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

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

前言

動(dòng)規(guī)五部曲

1.確定dp數(shù)組含義

2.確定遞推公式

3.初始化數(shù)組

4.確定遍歷方式

5.打印dp數(shù)組查看分析問題

LeetCode? T62 不同路徑

題目鏈接:62. 不同路徑 - 力扣(LeetCode)

代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II,代碼隨想錄,數(shù)據(jù)結(jié)構(gòu),leetcode,算法,職場和發(fā)展

代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II,代碼隨想錄,數(shù)據(jù)結(jié)構(gòu),leetcode,算法,職場和發(fā)展

題目思路:

代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II,代碼隨想錄,數(shù)據(jù)結(jié)構(gòu),leetcode,算法,職場和發(fā)展

注:n行m列而不是m行n列

1.確定dp數(shù)組含義

代表到達(dá)此下標(biāo)有多少條路徑

2.確定遞推公式

因?yàn)橹荒芟蛴一蛘呦蛳伦?所以到達(dá)i,j這個(gè)點(diǎn)的路徑只有從左邊和從上面到達(dá),所以到達(dá)這個(gè)的途徑數(shù)就是左邊的數(shù)和上面的數(shù)之和.

dp[i][j] = dp[i-1][j] + dp[i][j-1];

3.初始化數(shù)組

初始化的時(shí)候應(yīng)該將左邊邊界和上面邊界都初始化為1,因?yàn)橹挥幸粭l路徑能到達(dá)

        for(int i = 0;i<m;i++){
            dp[i][0] = 1;
        }
        for(int i = 0;i<n;i++){
            dp[0][i] = 1;
        }

4.確定遍歷方式

此題目跟遍歷順序無關(guān),順序遍歷即可

5.打印dp數(shù)組查看分析問題

遇見問題可以打印dp數(shù)組并推導(dǎo)嘗試是否有問題

最后直接返回右下角的值即可

題目代碼:

class Solution {
    public int uniquePaths(int m, int n) {
        int[][] dp = new int[m][n];
        for(int i = 0;i<m;i++){
            dp[i][0] = 1;
        }
        for(int i = 0;i<n;i++){
            dp[0][i] = 1;
        }
//記得從下標(biāo)1,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];
    }
}

LeetCode T63 不同路徑II

題目鏈接:63. 不同路徑 II - 力扣(LeetCode)

題目思路:

代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II,代碼隨想錄,數(shù)據(jù)結(jié)構(gòu),leetcode,算法,職場和發(fā)展

1.確定dp數(shù)組含義

此時(shí)的dp數(shù)組也是代表和上一題一樣的含義,表示有多少條路徑能到達(dá)這個(gè)坐標(biāo)

2.確定遞推公式

注:這里如果遇到障礙,也就是1的情況,我們就讓dp這個(gè)點(diǎn)取得0,不然就是和上文一樣的遞推公式

dp[i][j] = (obstacleGrid[i][j] == 0)?dp[i-1][j] + dp[i][j-1]:0;

3.初始化數(shù)組

這里初始化在邊界遇到障礙的時(shí)候就是代表后面的下標(biāo)都是到達(dá)不了的地方,所以就不進(jìn)行賦值

代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑II,代碼隨想錄,數(shù)據(jù)結(jié)構(gòu),leetcode,算法,職場和發(fā)展

注意:如果起點(diǎn)或者終點(diǎn)為障礙,就直接返回0

4.確定遍歷方式

順序遍歷即可文章來源地址http://www.zghlxwxcb.cn/news/detail-736931.html

5.打印dp數(shù)組查看分析問題

題目代碼:

class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int m = obstacleGrid.length;
        int n = obstacleGrid[0].length;
        int[][] dp = new int[m][n];
        //起點(diǎn)和終點(diǎn)為障礙
        if(obstacleGrid[0][0] == 1 || obstacleGrid[m-1][n-1] == 1){
            return 0;
        }
        for(int i = 0;i<m && obstacleGrid[i][0] == 0;i++){
            dp[i][0] = 1;
        }
        for(int i = 0;i<n && obstacleGrid[0][i] == 0;i++){
            dp[0][i] = 1;
        }
        for(int i = 1;i<m;i++){
            for(int j = 1;j<n;j++){
                dp[i][j] = (obstacleGrid[i][j] == 0)?dp[i-1][j] + dp[i][j-1]:0;
            }
        }
        return dp[m-1][n-1];

    }
}

到了這里,關(guān)于代碼隨想錄Day33 LeetCode T62不同路徑 LeetCode T63 不同路徑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)文章

  • 算法隨想錄第三十九天打卡|62.不同路徑 , 63. 不同路徑 II

    本題大家掌握動(dòng)態(tài)規(guī)劃的方法就可以。?數(shù)論方法?有點(diǎn)非主流,很難想到。? 代碼隨想錄 視頻講解: 動(dòng)態(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)
  • 代碼隨想錄Day20 回溯算法 LeetCode77 組合問題

    代碼隨想錄Day20 回溯算法 LeetCode77 組合問題

    以下內(nèi)容更詳細(xì)解釋來自于:代碼隨想錄 (programmercarl.com) 回溯法也叫回溯搜索法,是搜索法的一種,我們之前在二叉樹中也經(jīng)常使用到回溯來解決問題,其實(shí) 有遞歸就有回溯 ,有的時(shí)候回溯隱藏在遞歸之下,我們不容易發(fā)覺,今天我們來詳細(xì)介紹一下什么是回溯,它能解決哪些問題.

    2024年02月08日
    瀏覽(93)
  • 代碼隨想錄Day1 | 數(shù)組01- leetcode 704、27

    題目鏈接:二分查找 關(guān)鍵問題: ????????- 邊界(left、right)、當(dāng)前查找值(middle) ? ? ? ? ? ? ? ? - target大于當(dāng)前查找值 -- 當(dāng)前查找區(qū)域的右邊,更改區(qū)間left ? ? ? ? ? ? ? ? - target小于當(dāng)前查找值 -- 當(dāng)前查找區(qū)域的左邊,更改區(qū)間right ? ? ? ? ? ? ? ? - middle的計(jì)

    2024年02月16日
    瀏覽(88)
  • 代碼隨想錄Day3 | 鏈表01-leetcode203、707、206

    題目鏈接:移除鏈表元素 思路: 鏈表中元素的添加和刪除關(guān)鍵是要 保證不斷鏈且指向關(guān)系正確 。對于刪除操作,鏈的修改涉及將待刪除元素的前一個(gè)元素指向待刪除元素的后一個(gè)元素,因此在判斷當(dāng)前元素是否需要?jiǎng)h除時(shí),要記錄當(dāng)前元素的前后指針。 1.刪除頭結(jié)點(diǎn)時(shí)另作

    2024年02月16日
    瀏覽(92)
  • 代碼隨想錄刷題第55天|Leetcode392判斷子序列、Leetcode115不同的子序列

    1、Leetcode392判斷子序列 題目鏈接:392判斷子序列 本題與1143最長公共子序列 有一點(diǎn)不一樣,最長公共子序列求 兩個(gè)字符串 的最長公共子序列的長度,本題判斷s是否為t的子序列。即t的長度是大于等于s的。 1、確定dp數(shù)組及下標(biāo)含義 dp[i][j] 表示以下標(biāo)i-1為結(jié)尾的字符串s,和以

    2024年02月16日
    瀏覽(19)
  • 代碼隨想錄day21(2)二叉樹:二叉樹的所有路徑(leetcode257)

    代碼隨想錄day21(2)二叉樹:二叉樹的所有路徑(leetcode257)

    題目要求:按任意順序返回所有從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑 思路:我們先遞歸地進(jìn)行前序遍歷,同時(shí)要注意回溯的過程,注意一些庫的用法即可。 leetcode實(shí)戰(zhàn): 代碼實(shí)現(xiàn):

    2024年03月18日
    瀏覽(52)
  • 代碼隨想錄Day4 | 鏈表02-leetcode24、19、面試題02.07、142

    題目鏈接:兩兩交換鏈表中的節(jié)點(diǎn) 思路: 雙指針p1、p2,分別指向每次需要交換的節(jié)點(diǎn)。交換過程為p2的next指向p1,p1的next指向p2的next, 還需要注意將p1de前一個(gè)指針指向交換后的p2以確保不斷鏈 。 1. 空鏈 or 只有頭結(jié)點(diǎn)? - 直接返回head,無需做任何修改 2. 交換需要記錄前驅(qū)

    2024年02月12日
    瀏覽(27)
  • 代碼隨想錄 Day35 動(dòng)態(tài)規(guī)劃04 01背包問題和完全背包問題 LeetCode T416 分割等和子集

    代碼隨想錄 Day35 動(dòng)態(tài)規(guī)劃04 01背包問題和完全背包問題 LeetCode T416 分割等和子集

    說到背包問題大家都會想到使用動(dòng)規(guī)的方式來求解,那么為什么用動(dòng)規(guī)呢, dp數(shù)組代表什么呢 ? 初始化是什么 , 遍歷方式又是什么 ,這篇文章筆者將詳細(xì)講解背包問題的經(jīng)典例題0-1背包問題和完全背包問題的解題方式,希望能幫助到大家 有人一提到背包問題就只會使用動(dòng)態(tài)規(guī)劃來

    2024年02月06日
    瀏覽(123)
  • 代碼隨想錄Day36 動(dòng)態(tài)規(guī)劃05 LeetCode T1049最后一塊石頭的重量II T494 目標(biāo)和 T474 一和零

    代碼隨想錄Day36 動(dòng)態(tài)規(guī)劃05 LeetCode T1049最后一塊石頭的重量II T494 目標(biāo)和 T474 一和零

    理論基礎(chǔ)? :?代碼隨想錄Day34 LeetCode T343整數(shù)拆分 T96 不同的二叉搜索樹-CSDN博客 1.明白dp數(shù)組的含義 2.明白遞推公式的含義 3.初始化dp數(shù)組 4.注意dp數(shù)組的遍歷順序 5.打印dp數(shù)組排錯(cuò) 題目鏈接:1049. 最后一塊石頭的重量 II - 力扣(LeetCode) 這題我們?nèi)匀徊捎脛?dòng)規(guī)五部曲來寫,這題和

    2024年02月06日
    瀏覽(19)
  • 代碼隨想錄Day58

    昨天因?yàn)橹驹富顒?dòng)和筆試耽誤了一整天,今天繼續(xù)學(xué)習(xí)動(dòng)規(guī)解決子序列問題。 給定字符串 s 和 t ,判斷 s 是否為 t 的子序列。 字符串的一個(gè)子序列是原始字符串刪除一些(也可以不刪除)字符而不改變剩余字符相對位置形成的新字符串。(例如,\\\"ace\\\"是\\\"abcde\\\"的一個(gè)子序列,

    2023年04月27日
    瀏覽(97)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包