LeetCode-63. Unique Paths II

网友投稿 800 2022-08-25

LeetCode-63. Unique Paths II

LeetCode-63. Unique Paths II

A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

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.

Note: m and n will be at most 100.

Example 1:

Input:[ [0,0,0], [0,1,0], [0,0,0]]Output: 2Explanation:There is one obstacle in the middle of the 3x3 grid above.There are two ways to reach the bottom-right corner:1. Right -> Right -> Down -> Down2. Down -> Down -> Right -> Right

题解:

class Solution {public: int uniquePathsWithObstacles(vector>& obstacleGrid) { int m = obstacleGrid.size(); int n = obstacleGrid[0].size(); if (m == 0 || n == 0) { return 0; } vector> dp(m, vector(n, 0)); if (obstacleGrid[0][0] == 0) { dp[0][0] = 1; } for (int i = 1; i < n; i++) { if (obstacleGrid[0][i] == 0) { dp[0][i] = dp[0][i - 1]; } else { break; } } for (int i = 1; i < m; i++) { if (obstacleGrid[i][0] == 0) { dp[i][0] = dp[i - 1][0]; } for (int j = 1; j < n; j++) { if (obstacleGrid[i][j] == 0) { dp[i][j] = dp[i][j - 1] + dp[i - 1][j]; } } } return dp[m - 1][n - 1]; }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:10个所需的IT技能 助你职场成功
下一篇:LeetCode-40. Combination Sum II
相关文章

 发表评论

暂时没有评论,来抢沙发吧~