leetcode Unique Paths II
2013-12-03 21:03
435 查看
Unique Paths II
Total Accepted: 2092 TotalSubmissions: 8049My Submissions
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
1and
0respectively
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.
I actually submitted the code with TLE using DFS. DP is the right solution:
class Solution { public: int uniquePathsWithObstacles(vector<vector<int> > &obstacleGrid) { int m = obstacleGrid.size(), n = m == 0 ? 0 : obstacleGrid[0].size(), count = 0; if (m == 0 || n == 0) return count; vector<vector<int>> dp(m, vector<int>(n, 0)); int i, j; if (obstacleGrid[0][0] == 1) return 0; else dp[0][0] = 1; for (j = 1; j < n; ++j) dp[0][j] = dp[0][j - 1] & (obstacleGrid[0][j] == 0); for (i = 1; i < m; ++i) dp[i][0] = dp[i - 1][0] & (obstacleGrid[i][0] == 0); for (i = 1; i < m; ++i) for (j = 1; j < n; ++j) if (obstacleGrid[i][j] == 0) dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; else dp[i][j] = 0; return dp[m - 1][n - 1]; } };
相关文章推荐
- LeetCode: Unique Paths II
- LeetCode: Unique Paths II
- [leetcode]Unique Paths II
- [LeetCode][JavaScript]Unique Paths II
- [Leetcode] Unique Paths II
- Leetcode Unique Paths II
- Leetcode-Unique Paths II(dp)
- Leetcode 63 Unique Paths II
- LeetCode题库解答与分析——#63.不同路径IIUniquePathsII
- 【题解】【矩阵】【回溯】【Leetcode】Unique Paths II
- leetcode -- Unique Paths I &&II-- 典型DP 题目,简单要看
- 【leetcode】第63题 Unique Paths II 题目+解析+JAVA代码
- LeetCode(63)Unique Paths II
- Leetcode Unique Paths II
- (java)leetcode-63:Unique Paths II
- leetcode-62&63 Unique Paths I & II
- [LeetCode] Unique Paths II
- Java for LeetCode 063 Unique Paths II
- leetcode_Unique Paths II
- leetcode-Unique Paths II