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

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

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

62.不同路徑?

本題大家掌握動(dòng)態(tài)規(guī)劃的方法就可以。?數(shù)論方法?有點(diǎn)非主流,很難想到。?

代碼隨想錄

視頻講解:動(dòng)態(tài)規(guī)劃中如何初始化很重要!| LeetCode:62.不同路徑_嗶哩嗶哩_bilibili

class Solution(object):
    def uniquePaths(self, m, n):
        if m==1 and n==1:
            return 1
        dp=[[0]*n]*m
        dp[0][0]=1
        for x in range(m):
            for y in range(n):
                if x>0 and y>0:
                    dp[x][y]=dp[x-1][y]+dp[x][y-1]
                if x==0 or y==0:
                    dp[x][y]=1
        return dp[m-1][n-1]

總結(jié)

把m和n弄反了。

?63.?不同路徑?II?

https://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.htmlhttps://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.html

視頻講解:動(dòng)態(tài)規(guī)劃,這次遇到障礙了| LeetCode:63. 不同路徑 II_嗶哩嗶哩_bilibili

思路

我本來想的是用高中的遇到障礙的題來解的,結(jié)果他沒說有幾個(gè)障礙,這個(gè)方法只能解決一個(gè)障礙的,就是減去經(jīng)過這個(gè)障礙的路徑。

我寫的錯(cuò)誤方法

class Solution(object):
    def uniquePathsWithObstacles(self, obstacleGrid):
        m=0
        n=0
        x=len(obstacleGrid)
        y=len(obstacleGrid[0])
        if x==1 and y==1:
            if obstacleGrid[0][0]==1:
                return 0
            return 1
        for i in range(x):
            for j in range(y):
                if obstacleGrid[i][j]==1:  #表示遇到障礙
                    if i==x-1 and j==y-1:
                        return 0 
                    m=i
                    n=j #表示障礙的坐標(biāo)
                if i>0 and j>0:
                    obstacleGrid[i][j]=obstacleGrid[i-1][j]+obstacleGrid[i][j-1]
                elif (i==0 or j==0) and (i>0 or j>0):
                    obstacleGrid[i][j]=1
        pre=obstacleGrid[m][n]*obstacleGrid[x-m-1][y-n-1]
        return obstacleGrid[x-1][y-1]-pre

答案

class Solution(object):
    def uniquePathsWithObstacles(self, obstacleGrid):
        m = len(obstacleGrid)
        n = len(obstacleGrid[0])
        if obstacleGrid[m - 1][n - 1] == 1 or obstacleGrid[0][0] == 1:
            return 0
        dp = [[0] * n for _ in range(m)]
        for i in range(m):
            if obstacleGrid[i][0] == 0:  # 遇到障礙物時(shí),直接退出循環(huán),后面默認(rèn)都是0
                dp[i][0] = 1
            else:
                break
        for j in range(n):
            if obstacleGrid[0][j] == 0:
                dp[0][j] = 1
            else:
                break
        for i in range(1, m):
            for j in range(1, n):
                if obstacleGrid[i][j] == 1:
                    continue
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
        return dp[m - 1][n - 1]

總結(jié)

我應(yīng)該從他的定義出發(fā)的,dp[i][j]的定義就是從開始坐標(biāo)到當(dāng)前坐標(biāo)的路徑的數(shù)量,所以我直接為0就表是有障礙了呀。文章來源地址http://www.zghlxwxcb.cn/news/detail-808366.html

到了這里,關(guān)于算法隨想錄第三十九天打卡|62.不同路徑 , 63. 不同路徑 II的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • 【代碼隨想錄打卡】快慢指針

    力扣鏈接:?力扣 給你一個(gè)數(shù)組 nums?和一個(gè)值 val,你需要 原地 移除所有數(shù)值等于?val?的元素,并返回移除后數(shù)組的新長度。 不要使用額外的數(shù)組空間,你必須僅使用 O(1) 額外空間并 原地 修改輸入數(shù)組。 元素的順序可以改變。你不需要考慮數(shù)組中超出新長度后面的元素。

    2024年02月12日
    瀏覽(20)
  • 代碼隨想錄打卡第35天

    2024年02月12日
    瀏覽(19)
  • 代碼隨想錄打卡第34天

    2024年02月11日
    瀏覽(21)
  • 【代碼隨想錄 | Leetcode | 第九天】哈希表 | 快樂數(shù) | 四數(shù)相加 II | 贖金信

    【代碼隨想錄 | Leetcode | 第九天】哈希表 | 快樂數(shù) | 四數(shù)相加 II | 贖金信

    歡迎來到小K的Leetcode|代碼隨想錄|專題化專欄,今天將為大家?guī)砉7▇快樂數(shù) | 四數(shù)相加 II | 贖金信的分享 ? ?題目鏈接點(diǎn)這里 編寫一個(gè)算法來判斷一個(gè)數(shù) n 是不是快樂數(shù)。 「快樂數(shù)」 定義為: 對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)字的平方和。 然后

    2024年02月13日
    瀏覽(49)
  • 代碼隨想錄補(bǔ)打卡 56 合并區(qū)間

    56 合并區(qū)間? 代碼如下 func?merge(intervals?[][]int)?[][]int?{ ????????sort.Slice(intervals,func(i,j?int)bool{? //將數(shù)組按左邊界的大小排序 ????????return?intervals[i][0]intervals[j][0] ????}) ????res?:=?make([][]int,0) //定義一個(gè)目標(biāo)數(shù)組 ????res?=?append(res,intervals[0])? //先將數(shù)組的第

    2024年02月02日
    瀏覽(86)
  • 代碼隨想錄Day_48打卡

    代碼隨想錄Day_48打卡

    你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房內(nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng), 如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會(huì)自動(dòng)報(bào)警 。 給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組,計(jì)算你 ?不觸

    2024年02月11日
    瀏覽(25)
  • 代碼隨想錄Day_52打卡

    給你一個(gè)整數(shù)數(shù)組? nums ?,找到其中最長嚴(yán)格遞增子序列的長度。 子序列? 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如, [3,6,2,7] ?是數(shù)組? [0,3,1,6,2,2,7] ?的子序列。 事例: 思路: ???????使用動(dòng)態(tài)規(guī)劃,dp含義:dp[i]表示數(shù)

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

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

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

    2024年04月13日
    瀏覽(57)
  • 隨想錄Day39--動(dòng)態(tài)規(guī)劃: 62.不同路徑 , 63. 不同路徑 II

    隨想錄Day39--動(dòng)態(tài)規(guī)劃: 62.不同路徑 , 63. 不同路徑 II

    今天的路勁問題,思想和昨天的爬樓梯一樣,主要還是找到你這個(gè)位置是怎么來的,到達(dá)dp[i][j]的方法由到達(dá)dp[i - 1][j]的方法再加上到達(dá)dp[i][j - 1]的方法和。在初始化時(shí),當(dāng)i=0或者j=0時(shí),到達(dá)他們的只有一條路勁,就是直走,所以對(duì)它進(jìn)行初始化。 63. 不同路徑 II 加了一個(gè)障

    2024年02月03日
    瀏覽(31)
  • 代碼隨想錄打卡—day41—【DP】— 8.26+27 DP基礎(chǔ)3

    343.?整數(shù)拆分 一開始做?沒有思路,學(xué)習(xí)了題解才,ac代碼: 后來仔細(xì)看題解,其實(shí) for - j?的次數(shù)可以優(yōu)化—— 注意 枚舉j的時(shí)候,是從1開始的。從0開始的話,那么讓拆分一個(gè)數(shù)拆個(gè)0,求最大乘積就沒有意義了。 優(yōu)化1: j 的結(jié)束條件是 j i - 1 ,其實(shí) j i 也是可以的,不過

    2024年02月11日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包