LeetCode 63. Unique Paths II
来源:互联网 发布:中国移动大数据 编辑:程序博客网 时间:2024/06/08 17:33
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.
answer:
class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int result = 0; if(obstacleGrid.size() == 0) return result; int m = obstacleGrid.size(),n = obstacleGrid[0].size(); cout << m << endl; cout << n << endl; if(obstacleGrid[0][0] == 1) return 0; else obstacleGrid[0][0] = 1; bool flag = false; int i = 1; for(i = 1; i < n; i ++){ if(obstacleGrid[0][i] != 1) obstacleGrid[0][i] = 1; else{ flag = true; break; } } if(flag){ while(i < n){ obstacleGrid[0][i] = 0; i ++; } } flag = false; for(i = 1; i < m; i ++){ if(obstacleGrid[i][0] != 1) obstacleGrid[i][0] = 1; else{ flag = true; break; } } if(flag){ while(i < m){ obstacleGrid[i][0] = 0; i ++; } } for(int i = 1; i < m; i ++){ for(int j = 1; j < n; j ++){ int temp = obstacleGrid[i][j - 1] + obstacleGrid[i - 1][j]; if(obstacleGrid[i][j] == 1) obstacleGrid[i][j] = 0; else obstacleGrid[i][j] = temp; } } return obstacleGrid[m - 1][n - 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
- 二分搜索及测试函数
- LeetCode -- Minimum Number of Arrows to Burst Balloons
- 欢迎使用CSDN-markdown编辑器
- C语言面试题之字符串操作
- 面试题42:翻转单词顺序
- LeetCode 63. Unique Paths II
- Android DownloadManager详解
- 2017-02-19
- POJ 3425 Customer support
- 选择和反馈
- 在__init__.py文件中import语句的作用
- JSP中文乱码问题终极解决方案(下)
- leetcode 10 Regular Expression Matching(简单正则表达式匹配)
- iOS 10.2 越狱更新到yalu102 beta7,很稳定,很多注意事项及修复ssh和scp连接教程