Skip to content

Instantly share code, notes, and snippets.

@leearmee35
Last active August 22, 2016 05:56
Show Gist options
  • Save leearmee35/1573c595464d60d4c4bb149d6c59d5c5 to your computer and use it in GitHub Desktop.
Save leearmee35/1573c595464d60d4c4bb149d6c59d5c5 to your computer and use it in GitHub Desktop.
public class Solution {
public int uniquePathsWithObstacles(int[][] obstacleGrid) {
int m=obstacleGrid.length;
int n=obstacleGrid[0].length;
int dp[][] = new int[m][n];
if(obstacleGrid[0][0]==1){
dp[0][0] = 0;
return 0;
}
else{
dp[0][0] = 1;
}
for(int i=1;i<n;i++){
if(obstacleGrid[0][i]==1 || dp[0][i-1]==0){
dp[0][i] = 0;
}
else{
dp[0][i] = 1;;
}
}
for(int i=1;i<m;i++){
if(obstacleGrid[i][0]==1 || dp[i-1][0]==0){
dp[i][0] = 0;
}
else{
dp[i][0] = 1;;
}
}
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
if(obstacleGrid[i][j]==1){
dp[i][j] = 0;
}
else{
dp[i][j] = dp[i-1][j]+dp[i][j-1];
}
}
}
return dp[m-1][n-1];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment