Unique Path II
来源:互联网 发布:数据库crow s foot图 编辑:程序博客网 时间:2024/06/06 07:09
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
.
Note: m and n will be at most 100.
思路:相比于上一个题目,这个加了个条件,也就是初始化的时候,第一行和第一列,遇见1,就不再往后面赋1了,后面就是0。
然后进行计算的时候,遇见1,机器人根本无法到达,所以dp的array直接赋值0,这样再进行计算就可以得到结果,跟上一题比,只是稍微变化了一下。
public class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int m = obstacleGrid.length; int n = obstacleGrid[0].length; int[][] dp = new int[m][n]; dp[0][0] = obstacleGrid[0][0] == 1 ? 0 : 1; // init 1st row; for(int i=1; i<n; i++){ if(obstacleGrid[0][i] == 1){ dp[0][i] = 0; } else { dp[0][i] = dp[0][i-1]; } } // init 1st col; for(int j=1; j<m; j++){ if(obstacleGrid[j][0] == 1) { dp[j][0] = 0; } else { dp[j][0] = dp[j-1][0]; } } // calculate matrix; 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]; } }
0 0
- Unique Path II
- [Leetcode]Unique Path II
- 10.3 Unique Path II
- [leetcode] Unique Path II
- Unique Path II--LeetCode
- Unique path ii
- Unique Path II
- [Leetcode]Unique Path II
- Unique Path II
- Leetcode Unique Path II
- LeetCode 62. Unique Path II
- [Leetcode] 63. Unique Path II
- Unique Paths I,II, Minimum Path Sum
- 63. Unique Path II Leetcode Python
- [leetcode题后感]unique path I、 II
- [LeetCode] Unique Paths、Unique Paths II、Minimum Path Sum
- leetcode Unique Paths & Unique Paths II & Minimum Path Sum
- Leetcode: Unique Path I & II, Minimum Path Sum, Triangle
- js中判断是否为空
- dojo小例子(6)页面打开后,请求数据,把反馈数据回填页面
- 在java中如何跳出当前的多重循环
- C#面向过程集锦
- 454 .sff剪切并转fasta 或 fastq
- Unique Path II
- Eclipse搭建SSH(Struts2+Spring3+Hibernate3)实践
- 思考与总结【2】:好习惯受益终生
- unzip (linux命令)
- 读书笔记--为人处世之道
- SAS学习笔记(四)——关于数据整合的几个细节
- The j.u.c Synchronizer Framework翻译
- kinect for windows - DepthBasics-D2D详解之一
- 使用mediainfo库取得媒体文件的tag