题目
和上一道题的思路差不多。动态规划,注意特殊点。
class Solution {
public int uniquePathsWithObstacles(int[][] obstacleGrid) {
int[][] mat = obstacleGrid;
int row = mat.length;
int col = mat[0].length;
int[][] dp = new int[row][col];
if(mat[0][0]==0){
dp[0][0] = 1;
}
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(mat[i][j]==1){
dp[i][j] = 0;
}else{
if(i>0){
dp[i][j] += dp[i-1][j];
}
if(j>0){
dp[i][j] += dp[i][j-1];
}
}
}
}
return dp[row-1][col-1];
}
}