var uniquePaths = function (m, n) {
let arr = new Array(m).fill(new Array(n).fill(0))
for (let i = 0; i < m ; i++) {
for (let j = 0; j < n ; j++) {
if (i === 0 || j === 0) {
arr[i][j] = 1
}
else arr[i][j] = arr[i - 1][j] + arr[i][j - 1]
}
}
return arr[m-1][n-1]
};
var uniquePathsWithObstacles = function (obstacleGrid) {
let arr = Array.from(Array(obstacleGrid.length + 1), () => Array(obstacleGrid[0].length + 1).fill(0))
for (let i = 1; i < obstacleGrid.length + 1; i++) {
for (let j = 1; j < obstacleGrid[0].length + 1; j++) {
if(obstacleGrid[i-1][j-1] === 1){
arr[i][j] = 0
continue
}
if(i === 1 && j === 1){
arr[i][j] = 1
}else{
arr[i][j] = arr[i - 1][j] + arr[i][j - 1]
}
}
}
return arr[obstacleGrid.length][obstacleGrid[0].length]
};