算法第14周Unique Paths II[medium]
2017-12-06 23:43
411 查看
Description
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.
Solution
这个题与上一题的区别是多了障碍物,所以当位置(i,j)为1时,它的路径数为0;只需在上一题基础上加以修改即可。
同时需注意边界。
当第0行或者第0列出现障碍物时,其右边或者下边所有都不能到达。
class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m = obstacleGrid.size() , n = obstacleGrid[0].size(); int dp[m] ; bool f = true; for (int i = 0; i < n; i++) { if (!f || obstacleGrid[0][i] == 1) { f = false; dp[0][i] = 0; } else { dp[0][i] = 1; } } f = true; for (int i = 0; i < m; i++) { if (!f || obstacleGrid[i][0] == 1) { f = false; dp[i][0] = 0; } else { dp[i][0] = 1; } } for (int i = 1; i < m; i++) { for (int j = 8f08 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]; } };
相关文章推荐
- (算法分析Week12)Unique Paths II[Medium]
- 【LeetCode-面试算法经典-Java实现】【063-Unique Paths II(唯一路径问题II)】
- Medium 63题 Unique Paths II
- (算法分析Week12)Unique Paths[Medium]
- 算法练习(15) —— Unique Paths II
- LeetCode-63-Unique Paths II(动规)-Medium
- 【LeetCode-面试算法经典-Java实现】【063-Unique Paths II(唯一路径问题II)】
- 算法练习(41):Unique Paths II
- 【Leetcode】【Medium】Unique Paths II
- 算法分析与设计——LeetCode Problem.63 Unique Paths II
- 算法分析与设计丨第十六周丨LeetCode(20)——Unique Paths II(Medium)
- [Leetcode 63, Medium] Unique Paths II
- 【LeetCode】(63)Unique Paths II(Medium)
- 【算法】【Dynamic Programming】Unique Paths II
- leetcode oj java Unique Paths II
- [LeetCode]Unique Paths II
- 63. Unique Paths II
- leetcode unique paths ii
- 63. Unique Paths II
- Leetcode63 Unique Paths II