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

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

思路:

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

递推公式:

  • 当网格中有障碍物时:此路不通,continue;
  • 当网格中没有障碍物时:dpij=dpi-1j+dpij-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 分钟前
备份和服务器在同一台机器上,等于没备份
算法·架构
用户66026761187919 分钟前
备注接口返回成功,数据库却没变:怎样限定一次修复的范围?
python
姜鱼问生21 分钟前
别再 chmod 777 了,用 ACL 给它开一扇窗
后端·算法·架构
YSL07012424 分钟前
贪吃蛇小游戏---古法编程
数据结构·游戏程序
Dumbness25 分钟前
用 Python + UI Automation 读写微信 PC 版:一个群消息自动回复程序的实现与踩坑
python
特立独行的猫a34 分钟前
仓颉语言UI开发实战:我用仓颉写了个桌面版力扣
算法·leetcode·ui·tauri·仓颉·cj-tarui
艺杯羹35 分钟前
Windows跨平台编码地雷全解:从GBK静默崩溃到内核级原子写入防御
人工智能·python·桌面客户端
用户83562907805135 分钟前
使用 Python 在 Excel 中识别并高亮重复数据与唯一数据
后端·python
CCblandy36 分钟前
Agent 工具调用怎么编排?本机实测:并行只到 2.63 倍,慢的先发省 30ms,CPU 活加 worker 无效
人工智能·后端·python·性能优化
用户8356290780511 小时前
使用 Python 在 Excel 中查找、替换数据并高亮显示
后端·python