leetcode No63. Unique Paths II

Question:

Follow up for "Unique Paths":

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.

For example,

There is one obstacle in the middle of a 3x3 grid as illustrated below.

[
  [0,0,0],
  [0,1,0],
  [0,0,0]
]

The total number of unique paths is 2.

Note: m and n will be at most 100.

找路径个数,元素为1,则为障碍,只能右移,下移

Algorithm:

类似Unique Paths,还是用动态规划,与之不同的是,如果有障碍,当前元素置0,还有左下角和右下角为0时,没有路径。

Accepted Code:

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int M=obstacleGrid.size();
        int N=obstacleGrid[0].size();
        //左上角和右下角为1,则返回0
        if(obstacleGrid.size()==0||obstacleGrid[0].size()==0||obstacleGrid[0][0]==1||obstacleGrid[M-1][N-1]==1)
            return 0;
        vector<vector<int>> res(M,vector<int>(N,1));
        for(int i=1;i<M;i++)
        {
            for(int j=1;j<N;j++)
            {
                if(obstacleGrid[i][j]==1)
                    res[i][j]=0;
                else
                {
                    if(obstacleGrid[i-1][j]==0&&obstacleGrid[i][j-1]==0)
                        res[i][j]=res[i-1][j]+res[i][j-1];
                    else if(obstacleGrid[i-1][j]==1&&obstacleGrid[i][j-1]==0)
                        res[i][j]=res[i][j-1];
                    else if(obstacleGrid[i-1][j]==0&&obstacleGrid[i][j-1]==1)
                        res[i][j]=res[i-1][j];
                    else
                        res[i][j]=0;
                }
            }
        }
        return res[M-1][N-1];
    }
};
时间: 2024-10-10 06:17:01

leetcode No63. Unique Paths II的相关文章

LeetCode --- 63. Unique Paths II

题目链接:Unique Paths II Follow up for "Unique Paths": 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. For example, There is one

【Leetcode】Unique Paths II

Follow up for "Unique Paths": 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. For example, There is one obstacle in the middl

[LeetCode][JavaScript]Unique Paths II

Unique Paths II Follow up for "Unique Paths": 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. For example, There is one obsta

【LeetCode】Unique Paths II 解题报告

[题目] Follow up for "Unique Paths": 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. For example, There is one obstacle in the

Leetcode 动态规划 Unique Paths II

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie Unique Paths II Total Accepted: 13655 Total Submissions: 49081My Submissions Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique paths would t

[C++]LeetCode: 78 Unique Paths II

题目: Follow up for "Unique Paths": 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. For example, There is one obstacle in the m

leetCode 63.Unique Paths II (唯一路径II) 解题思路和方法

Unique Paths II Follow up for "Unique Paths": 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. For example, There is one obsta

[LeetCode]20. Unique Paths II唯一路径

Follow up for "Unique Paths": 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. For example, There is one obstacle in the middl

Java for LeetCode 063 Unique Paths II

Follow up for "Unique Paths": 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. For example, There is one obstacle in the middl