首页 > 移动平台 > 详细

Leetcode练习(Python):数组类:第63题:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

时间:2020-04-22 14:31:41      阅读:1033      评论:0      收藏:0      [点我收藏+]
题目:
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。  机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。  现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 
思路:
和没有障碍思路类似,将有障碍部分设置成1就好了
程序:
class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        row = len(obstacleGrid)
        column = len(obstacleGrid[0])
        if row <= 0:
            return 0
        result = [[0] * (column + 1) for _ in range(row + 1)]
        result[0][1] = 1
        for index1 in range(1, row + 1):
            for index2 in range(1, column + 1):
                if obstacleGrid[index1 - 1][index2 - 1] == 0:
                    result[index1][index2] = result[index1 - 1][index2] + result[index1][index2 - 1]
        output = result[-1][-1]
        return output

Leetcode练习(Python):数组类:第63题:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

原文:https://www.cnblogs.com/zhuozige/p/12751478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!