【leetcode】63. Unique Paths II【java】
来源:互联网 发布:ubuntu如何卸载samba 编辑:程序博客网 时间:2024/06/16 11:17
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
.
public class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { //方法1:动态规划,使用二维数组 if (obstacleGrid == null || obstacleGrid.length == 0 || obstacleGrid[0].length == 0){ return 0; } int m = obstacleGrid.length; int n = obstacleGrid[0].length; int[][] paths = new int[m][n]; for (int i = 0; i < n; i++){ if (obstacleGrid[0][i] != 1){ paths[0][i] = 1; } else{ break; } } for (int j = 0; j < m; j++){ if (obstacleGrid[j][0] != 1){ paths[j][0] = 1; } else { break; } } for (int i = 1; i < m; i++){ for (int j = 1; j < n; j++){ if (obstacleGrid[i][j] != 1){ paths[i][j] = paths[i-1][j] + paths[i][j-1]; } else { paths[i][j] = 0; } } } return paths[m-1][n-1]; // //方法2:使用一维数组 同样是动态规划的思想 // if (obstacleGrid == null || obstacleGrid.length == 0 || obstacleGrid[0].length == 0){ // return 0; // } // int[] res = new int[obstacleGrid[0].length]; // res[0] = 1; // for (int i = 0; i < obstacleGrid.length; i++){ // for (int j = 0; j < obstacleGrid[0].length; j++){ // if (obstacleGrid[i][j] == 1){ // res[j] = 0; // } // else{ // if (j > 0) // res[j] += res[j - 1]; // } // } // } // return res[obstacleGrid[0].length - 1]; }}
0 0
- Leetcode 63. Unique Paths II (Medium) (java)
- 【leetcode】63. Unique Paths II【java】
- [leetcode]63. Unique Paths II(Java)
- [Leetcode] Unique Paths II (Java)
- leetcode java Unique Paths II
- [LeetCode][Java] Unique Paths II
- LeetCode --- 63. Unique Paths II
- LeetCode 63.Unique Paths II
- [leetcode] 63.Unique Paths II
- [leetcode] 63.Unique Paths II
- Leetcode 63. Unique Paths II
- LeetCode 63. Unique Paths II
- [leetcode] 63. Unique Paths II
- leetcode 63. Unique Paths II
- 63. Unique Paths II LeetCode
- LeetCode 63. Unique Paths II
- [LeetCode]63. Unique Paths II
- leetcode 63. Unique Paths II
- 闲谈System.nanoTime()函数
- Spring中的定时任务
- 学好Python的优秀资源推荐
- 【数据结构】数据结构C语言的实现【图(邻接表法)】
- Spring入门
- 【leetcode】63. Unique Paths II【java】
- 将Excel表格中的数据导出到xml文件中
- 互联网公司产品经理们面试的终极攻略
- 【leetcode】64. Minimum Path Sum【java】
- 第十二章—PopupWindow
- JAVA观察者模式
- 向android studio导入android源生app
- 数据库导出到EXAL 再供用户下载
- c语言函数指针