zoukankan      html  css  js  c++  java
  • 63. Unique Paths II

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

    The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

    Now consider if some obstacles are added to the grids. How many unique paths would there be?

    An obstacle and empty space is marked as 1 and 0 respectively in the grid.

    Note: m and n will be at most 100.

    Example 1:

    Input:
    [
      [0,0,0],
      [0,1,0],
      [0,0,0]
    ]
    Output: 2
    Explanation:
    There is one obstacle in the middle of the 3x3 grid above.
    There are two ways to reach the bottom-right corner:
    1. Right -> Right -> Down -> Down
    2. Down -> Down -> Right -> Right
    class Solution(object):
        def uniquePathsWithObstacles(self, obstacleGrid):
            """
            :type obstacleGrid: List[List[int]]
            :rtype: int
            """
            
            m = len(obstacleGrid[0])
            n = len(obstacleGrid)
            # 构建二维数组
            dp = [[0 for i in xrange(m)] for i in xrange(n)]
            # 依次从行开始遍历二维数组
            for i in xrange(0,n):
                for j in xrange(0,m):
                    # 左上两边得路径值为1
                    if i == 0 and j == 0 and obstacleGrid[i][j] != 1:
                        dp[i][j] = 1
                        continue
                    # 若有障碍,路径条数为0
                    if obstacleGrid[i][j] == 1:
                        dp[i][j] = 0
                        continue
                    dp[i][j] = dp[i-1][j] + dp[i][j-1]
                    
            return dp[n-1][m-1]
  • 相关阅读:
    [BZOJ4029][HEOI2015]定价
    [BZOJ3261]最大异或和
    [BZOJ3166][Heoi2013]Alo
    [BZOJ1030][JSOI2007]文本生成器
    [BZOJ2595][Wc2008]游览计划
    Speculative store buffer
    十四 oracle 视图
    十三oracle --控制结构(分支,循环,控制)
    十二、oracle 数据库(表)的逻辑备份与恢复
    十一、oracle 数据库管理员
  • 原文地址:https://www.cnblogs.com/boluo007/p/12419906.html
Copyright © 2011-2022 走看看