LeetCode 63.Unique Paths II
来源:互联网 发布:知乎 微星台式机 编辑:程序博客网 时间:2024/05/07 16:11
题目:
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.
分析与解答:
只能DP了,我用了二维数组,其实一维就可以的。
class Solution {public: int uniquePathsWithObstacles(vector<vector<int> > &obstacleGrid) { if(obstacleGrid.empty() || obstacleGrid[0].empty()){ return 0; } size_t m = obstacleGrid.size(),n = obstacleGrid[0].size();//m行n列 if(obstacleGrid[m-1][n-1]==1){ return 0; } vector<vector<int> > dp(m+1,vector<int>(n+1,0)); int maxnum = m + n; dp[m][n] = 1; for(int i = m;i>=1;--i){ for(int j=n;j>=1;--j){ if(i+j == maxnum){ continue; } if(obstacleGrid[i-1][j-1] == 1){ dp[i][j] = 0; }else{ dp[i][j] = (i+1>m?0:dp[i+1][j]) + (j+1>n?0:dp[i][j+1]); } } } return dp[1][1]; }};
0 0
- 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
- 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
- 蓝桥杯练习题-翻硬币
- 正则表达式的学习
- C++静态成员和静态函数小结(转)
- [leetcode]Excel Sheet Column Number
- 网络攻击的主要技术和手段
- LeetCode 63.Unique Paths II
- 【bzoj 2668】: [cqoi2012]交换棋子
- 车票找零
- android ndk程序调试方法
- NYOJ_语言入门
- 受不了Android SDK文档打开缓慢问题,自己开发简易脱机浏览器。
- Matlab-简单练习
- HDU 1521 排列组合
- Volley的使用