LeetCode-63. Unique Paths II

原创 2016年10月07日 15:30:13

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.


这道题和上一题十分相像。只不过加了几个障碍。只需要把障碍所在的点置为0即可。所需注意的就是障碍在最上和最左的边上以及起始点的情况。代码如下:

public class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        if(obstacleGrid[0][0] == 1){
            return 0;
        }
		boolean flag = false;
		int m = obstacleGrid.length;
		int n = obstacleGrid[0].length;
		for(int i = 0; i < m; i++){
			if(flag == false){
				if(obstacleGrid[i][0] == 0){
					obstacleGrid[i][0] = 1;
				}else{
					obstacleGrid[i][0] = 0;
					flag = true;
				}
			}else{
				obstacleGrid[i][0] = 0;
			}
		}
		flag = false;
		for(int i = 1; i < n; i++){
			if(flag == false){
				if(obstacleGrid[0][i] == 0){
					obstacleGrid[0][i] = 1;
				}else{
					obstacleGrid[0][i] = 0;
					flag = true;
				}
			}else{
				obstacleGrid[0][i] = 0;
			}
		}
		for(int i = 1; i < m; i++){
			for(int j = 1; j < n; j++){
				if(obstacleGrid[i][j] == 0){
					obstacleGrid[i][j] = obstacleGrid[i-1][j] + obstacleGrid[i][j-1];
				}else{
					obstacleGrid[i][j] = 0;
				}
			}
		}
		return obstacleGrid[m-1][n-1];
    
    }
}



相关文章推荐

LeetCode - 63. Unique Paths II

这道题目与上一个题目是一样的,只是在matrix中有些小格子里有障碍,无法通行。基本的思路与上道题目是一样的,只是在初始化和进行DP的时候都要先进行一下检查,检查当前的访问到的[i][j] == 1,...

leetcode - 62,63. Unique Paths(II) & 64.Minimum Path Sum

算法系列博客之Dynamic Programming 本篇博客将运用动态规划的思想来解决leetcode上264号问题这三个题目的共同之处在于均是二维矩阵上的规划问题问题描述:62 Unique Pa...
  • Quiteen
  • Quiteen
  • 2017年06月11日 20:40
  • 94

LeetCode63——Unique Paths II

LeetCode63——Unique Paths II 跟LeetCode62——Unique Paths不同的是,这里是要在路径上设置障碍的。 因此不能用组合的方法去做了(也许可以,但我实在想不到)...

LeetCode_63---Unique Paths II

Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique...

LeetCode 64/62/63. Minimum Path Sum/ Unique Paths i, ii

1. 题目描述1.1 62 A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the dia...

Leetcode 63. Unique Paths II

// Follow up for "Unique Paths": // // Now consider if some obstacles are added to the grids. How ma...

[Leetcode刷题总结系列][Dynamic Programming]63. Unique Paths II

Unique Paths II Follow up for “Unique Paths”:Now consider if some obstacles are added to the grids. ...

Leetcode NO.63 Unique Paths II

题目要求如下: Follow up for "Unique Paths": Now consider if some obstacles are added to the grids....

【leetcode】【63】Unique Paths II

一、问题描述 Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. ...

【leetcode】63. Unique Paths II

一、题目描述 Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-63. Unique Paths II
举报原因:
原因补充:

(最多只允许输入30个字)