LEETCODE-DAY39


title: LEETCODE-DAY39

date: 2024-03-30 17:24:46
tags:

今日内容:62.不同路径、63. 不同路径 II

T1

python 复制代码
class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp=[[0 for _ in range(n+1)]for _ in range(m+1)]
        dp[1][1]=1
        for i in range(1,m+1):
            for j in range(1,n+1):
                dp[i][j]=dp[i-1][j]+dp[i][j-1]

        return dp[m][n]

输入

m =

3

n =

2

输出

0

预期结果

3

dp[1][1]被覆盖了

python 复制代码
class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp=[[0 for _ in range(n+1)]for _ in range(m+1)]
        dp[1][1]=1
        for i in range(1,m+1):
            for j in range(1,n+1):
                if i==1 and j==1:
                    continue
                dp[i][j]=dp[i-1][j]+dp[i][j-1]

        return dp[m][n]

AC

T2

python 复制代码
class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        m=len(obstacleGrid)
        n=len(obstacleGrid[0])
        dp=[[0 for _ in range(n)]for _ in range(m)]
        for i in range(m):
            dp[i][0]=1
        for j in range(n):
            dp[0][j]=1

        for i in range(1,m):
            for j in range(1,n):
      
                dp[i][j]=dp[i-1][j]+dp[i][j-1]
        res=dp[m-1][n-1]
        for i in range(m):
            for j in range(n):
                if obstacleGrid[i][j]==1:
                    res-=dp[i][j]*dp[m-i-1][n-j-1]
                    
        return res

输入

obstacleGrid =

[[1,1]]

输出

-1

预期结果

0

python 复制代码
#同上
return max(res,0)

输入

obstacleGrid =

[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]]

输出

0

预期结果

7

需要换一种思路

python 复制代码
class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        m=len(obstacleGrid)
        n=len(obstacleGrid[0])
        dp=[[0 for _ in range(n)]for _ in range(m)]
        if obstacleGrid[0][0]==1:
            return 0
        for i in range(m):
            if obstacleGrid[i][0]==1:
                dp[i][0]=0
            else:
                dp[i][0]=1
        for j in range(n):
            if obstacleGrid[0][j]==1:
                dp[0][j]=0
            else:
                dp[0][j]=1


        for i in range(1,m):
            for j in range(1,n):
                if obstacleGrid[i][j]==1:
                    dp[i][j]==0
                else:
                   dp[i][j]=dp[i-1][j]+dp[i][j-1]
       
       
        return dp[m-1][n-1]

输入

obstacleGrid =

[[0,0],[1,1],[0,0]]

输出

1

预期结果

0

初始化有问题

第一行遇到障碍后障碍之后的列也应初始化为0

python 复制代码
class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        m=len(obstacleGrid)
        n=len(obstacleGrid[0])
        dp=[[0 for _ in range(n)]for _ in range(m)]
        if obstacleGrid[0][0]==1:
            return 0
        for i in range(m):
            if obstacleGrid[i][0]==1:
                dp[i][0]=0
            elif i>0 and dp[i-1][0]==0:
                dp[i][0]=0
            else:
                dp[i][0]=1
        for j in range(n):
            if obstacleGrid[0][j]==1:
                dp[0][j]=0
            elif j>0 and dp[0][j-1]==0:
                dp[0][j]=0
            else:
                dp[0][j]=1


        for i in range(1,m):
            for j in range(1,n):
                if obstacleGrid[i][j]==1:
                    dp[i][j]==0
                else:
                   dp[i][j]=dp[i-1][j]+dp[i][j-1]
       
       
        return dp[m-1][n-1]

AC

python 复制代码
python 复制代码
相关推荐
好喜欢吃红柚子2 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python6 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯16 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
千天夜27 分钟前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
测试界的酸菜鱼31 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
小码农<^_^>33 分钟前
优选算法精品课--滑动窗口算法(一)
算法
羊小猪~~35 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
软工菜鸡1 小时前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
放飞自我的Coder1 小时前
【python ROUGE BLEU jiaba.cut NLP常用的指标计算】
python·自然语言处理·bleu·rouge·jieba分词