代码随想录 -- 动态规划 -- 不同路径 II

63. 不同路径 II - 力扣(LeetCode)

思路:

dp[i][j]含义:走到第(i,j)个格子有多少种方法。

递推公式:

  • 当网格中有障碍物时:此路不通,continue;
  • 当网格中没有障碍物时:dp[i][j]=dp[i-1][j]+dp[i][j-1]。

初始化:(一开始整个dp数组都初始化为0)

针对第一行第一列:

  • 如果没有遇到障碍物,初始化为1;
  • 如果遇到障碍物,直接break。

遍历顺序:从上到下,从左到右

python 复制代码
class Solution(object):
    def uniquePathsWithObstacles(self, obstacleGrid):
        n=len(obstacleGrid)
        m=len(obstacleGrid[0])
        if obstacleGrid[0][0]==1 or obstacleGrid[n-1][m-1]==1:return 0
        dp=[[0 for _ in range(m)] for _ in range(n)]
        for i in range(n):
            if obstacleGrid[i][0]==0:
                dp[i][0]=1
            else:
                break
        for j in range(m):
            if obstacleGrid[0][j]==0:
                dp[0][j]=1
            else:
                break
        for i in range(1,n):
            for j in range(1,m):
                if obstacleGrid[i][j]==1:
                    continue
                else:
                    dp[i][j]=dp[i-1][j]+dp[i][j-1]
        return dp[n-1][m-1]
相关推荐
查理零世15 分钟前
【蓝桥杯集训·每日一题2025】 AcWing 6134. 哞叫时间II python
python·算法·蓝桥杯
仟濹15 分钟前
【二分搜索 C/C++】洛谷 P1873 EKO / 砍树
c语言·c++·算法
紫雾凌寒24 分钟前
解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
人工智能·python·神经网络·算法·机器学习·卷积神经网络
sun lover37 分钟前
conda简单命令
python·conda
京东零售技术1 小时前
AI Agent实战:打造京东广告主的超级助手 | 京东零售技术实践
算法
Mike_188702783511 小时前
1688代采下单API接口使用指南:实现商品采集与自动化下单
前端·python·自动化
青铜念诗1 小时前
python脚本文件设置进程优先级(在.py文件中实现)
开发语言·python
Dyan_csdn2 小时前
【Python项目】文本相似度计算系统
开发语言·python
且听风吟ayan2 小时前
leetcode day19 844+977
leetcode·c#
pianmian12 小时前
python绘图之回归拟合图
开发语言·python·回归