不同的路径 II
2018-01-29 15:43
169 查看
"不同的路径" 的跟进问题:
现在考虑网格中有障碍物,那样将会有多少条不同的路径?
网格中的障碍和空位置分别用 1 和 0 来表示。
注意事项
m 和 n 均不超过100
您在真实的面试中是否遇到过这个题?
Yes
样例
如下所示在3x3的网格中有一个障碍物:
一共有2条不同的路径从左上角到右下角。
class Solution {
public:
/*
* @param obstacleGrid: A list of lists of integers
* @return: An integer
*/
int uniquePathsWithObstacles(vector<vector<int>> &obstacleGrid) {
// write your code
int m=obstacleGrid.size(),n=obstacleGrid[0].size();
int a[m]
;
if(obstacleGrid[0][0]==1){
return 0;
}
for(int i=0;i<obstacleGrid.size();i++){
for(int j=0;j<obstacleGrid[0].size();j++){
if(obstacleGrid[i][j]==1){
a[i][j]=-1;
}
}
}
int mh=0;
for(int i=0;i<m;i++){
if(a[i][0]==-1){
mh=1;
}
if(mh==0){
a[i][0]=1;
}else{
a[i][0]=0;
}
}
mh=0;
for(int i=0;i<n;i++){
if(a[0][i]==-1){
mh=1;
}
if(mh==0){
a[0][i]=1;
}else{
a[0][i]=0;
}
}
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
if(a[i][j]==-1){
a[i][j]=0;
}else{
a[i][j]=a[i-1][j]+a[i][j-1];
}
}
}
return a[m-1][n-1];
}
};
现在考虑网格中有障碍物,那样将会有多少条不同的路径?
网格中的障碍和空位置分别用 1 和 0 来表示。
注意事项
m 和 n 均不超过100
您在真实的面试中是否遇到过这个题?
Yes
样例
如下所示在3x3的网格中有一个障碍物:
[ [0,0,0], [0,1,0], [0,0,0] ]
一共有2条不同的路径从左上角到右下角。
class Solution {
public:
/*
* @param obstacleGrid: A list of lists of integers
* @return: An integer
*/
int uniquePathsWithObstacles(vector<vector<int>> &obstacleGrid) {
// write your code
int m=obstacleGrid.size(),n=obstacleGrid[0].size();
int a[m]
;
if(obstacleGrid[0][0]==1){
return 0;
}
for(int i=0;i<obstacleGrid.size();i++){
for(int j=0;j<obstacleGrid[0].size();j++){
if(obstacleGrid[i][j]==1){
a[i][j]=-1;
}
}
}
int mh=0;
for(int i=0;i<m;i++){
if(a[i][0]==-1){
mh=1;
}
if(mh==0){
a[i][0]=1;
}else{
a[i][0]=0;
}
}
mh=0;
for(int i=0;i<n;i++){
if(a[0][i]==-1){
mh=1;
}
if(mh==0){
a[0][i]=1;
}else{
a[0][i]=0;
}
}
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
if(a[i][j]==-1){
a[i][j]=0;
}else{
a[i][j]=a[i-1][j]+a[i][j-1];
}
}
}
return a[m-1][n-1];
}
};
相关文章推荐
- 不同的路径 II-LintCode
- LintCode:不同的路径II
- LintCode 不同的路径 II
- LintCode 不同的路径II
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- 不同的路径II
- 不同的路径II
- 115 - 不同的路径 II
- lintcode-115-不同的路径 II
- 不同的路径 II
- LintCode -- 不同的路径 II
- LeetCode题库解答与分析——#63.不同路径IIUniquePathsII
- 不同的路径 II
- [LeetCode] Unique Paths II 不同的路径之二
- 不同的路径 II -LintCode
- LintCode刷题——不同的路径 II
- 115不同的路径II
- 题目 :不同的路径 II
- lintcode-不同的路径II-115
- lintcode unique-paths-ii 不同的路径ii