Follow up for "Unique Paths":html
Now consider if some obstacles are added to the grids. How many unique paths would there be?ide
An obstacle and empty space is marked as 1
and 0
respectively in the grid.post
For example,url
There is one obstacle in the middle of a 3x3 grid as illustrated below.spa
[ [0,0,0], [0,1,0], [0,0,0] ]
The total number of unique paths is 2
.code
Note: m and n will be at most 100.htm
跟LeetCode: Unique Paths 解題報告 相比,只不過是判斷一下當前是否是block,若是是block,直接設置D[i][j] 是0就行了 也就是不可達。 一樣在3分鐘以內Bug free 秒答,哦耶!blog
1 public class Solution { 2 public int uniquePathsWithObstacles(int[][] obstacleGrid) { 3 // 1150 4 if (obstacleGrid == null || obstacleGrid.length == 0 || obstacleGrid[0].length == 0) { 5 return 0; 6 } 7 8 int rows = obstacleGrid.length; 9 int cols = obstacleGrid[0].length; 10 11 int[][] D = new int[rows][cols]; 12 13 for (int i = 0; i < rows; i++) { 14 for (int j = 0; j < cols; j++) { 15 D[i][j] = 0; 16 if (obstacleGrid[i][j] == 1) { 17 D[i][j] = 0; 18 } else { 19 if (i == 0 && j == 0) { 20 D[i][j] = 1; 21 } 22 23 if (i != 0) { 24 D[i][j] += D[i - 1][j]; 25 } 26 27 if (j != 0) { 28 D[i][j] += D[i][j - 1]; 29 } 30 } 31 } 32 } 33 34 return D[rows - 1][cols - 1]; 35 } 36 }