美文网首页
LeetCode 63. 不同路径 II

LeetCode 63. 不同路径 II

作者: 草莓桃子酪酪 | 来源:发表于2022-07-22 11:31 被阅读0次
题目

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。

*例:
输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:2
解释:3x3 网格的正中间有一个障碍物。
从左上角到右下角一共有 2 条不同的路径:

  1. 向右 -> 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右 -> 向右*


方法:动态规划

思路类 62. 不同路径,不同之处在于本题添加了障碍物

  • dp 记录到每个空格的路径数量
  • 循环遍历每个空格。若该空格存在障碍物,那么将路径数量设置为零;若空格的位置在第一列,那么该空格的路径数量应为前一行同样位置的路径数量;若空格的位置在第一排,那么该空格的路径数量应为同一行的前一列空格的路径数量;否则,该空格的路径数量为同一行前一列的路径数量加上前一行同一列的路径数量
    第一行和第一列的空格的路径数量不能直接保持 1 的原因是,若障碍物在该处出现的话,那么此时空格的路径数量为零
  • 最终返回右下角空格的路径数量
class Solution(object):
    def uniquePathsWithObstacles(self, obstacleGrid):
        dp = [[1 for col in range(len(obstacleGrid[0]))] for row in range(len(obstacleGrid))]
        for i in range(len(obstacleGrid[0])):
            for j in range(len(obstacleGrid)):
                if obstacleGrid[j][i] == 1:
                    dp[j][i] = 0
                elif i == 0:
                    dp[j][i] = dp[j-1][i]
                elif j == 0:
                    dp[j][i] = dp[j][i-1]
                else:
                    dp[j][i] = dp[j][i-1] + dp[j-1][i]
        return dp[-1][-1]

相关文章

  • LeetCode 63. 不同路径 II

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向...

  • LeetCode 63. 不同路径 II

    题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下...

  • Leetcode随便做做

    63. Unique Paths II https://leetcode.com/problems/unique-...

  • leetCode解题: 63. 不同路径 II

    解题思路:用二维数组存储达到每一步可能的路径数,上一步对下一步有记忆效应(动态规划的思想),除第一行和第一列,其他...

  • leetcode题目63. 不同路径 II

    题目描述 链接:https://leetcode-cn.com/problems/unique-paths-ii/...

  • LeetCode 力扣 63. 不同路径 II

    题目描述(中等难度) 对62题的变体,增加了一些不能走的格子,用 1 表示。还是输出从左上角到右下角总共有多少种走...

  • 63.不同路径II

  • 63.不同路径II

    题目 不同路劲的进阶问题。考虑网格中有障碍物,同样求从左上角到右下角的路径数。1表示障碍物,0表示空位置。题目连接...

  • 63. 不同路径 II

  • 63. 不同路径 II

    其实和62题特别类似,区别就是去判断一下该位置是不是1,在初始化边界也要进行判断

网友评论

      本文标题:LeetCode 63. 不同路径 II

      本文链接:https://www.haomeiwen.com/subject/djivvrtx.html