1class Solution {2public int uniquePathsWithObstacles(int[][] OG) {3if (OG[0][0] == 1) return 0;4int m = OG.length, n = OG[0].length;5int[][] dp = new int[m][n];6dp[0][0] = 1;7for (int i = 0; i < m; i++)8for (int j = 0; j < n; j++)9if (OG[i][j] == 1 || (i == 0 && j == 0)) continue;10else dp[i][j] = (i > 0 ? dp[i - 1][j] : 0) + (j > 0 ? dp[i][j - 1] : 0);11return dp[m - 1][n - 1];12}13}