标签:
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 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
.
m and n will be at most 100.
public class Solution { /** * @param obstacleGrid: A list of lists of integers * @return: An integer */ public int uniquePathsWithObstacles(int[][] obstacleGrid) { // write your code here if(obstacleGrid.length==0 || obstacleGrid[0].length==0) return 0; int m=obstacleGrid.length; int n=obstacleGrid[0].length; int[][] sum=new int[m][n]; int prev=0; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(obstacleGrid[i][j]==1) { sum[i][j]=0; } else if(i==0 && j==0) { sum[0][0]=1; } else if(i==0) { sum[0][j]=sum[0][j-1]; } else if(j==0) { sum[i][0]=sum[i-1][0]; } else { sum[i][j]=sum[i-1][j]+sum[i][j-1]; } } } return sum[m-1][n-1]; } }
标签:
原文地址:http://www.cnblogs.com/kittyamin/p/5011865.html