Unique Paths II
来源:互联网 发布:绝地求生优化教程 编辑:程序博客网 时间:2024/06/07 19:41
题目
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
.
分析
这题与"Unique Paths"的解法相同,需注意的是若某个位置有障碍则到达该位置的走法为0,状态转移方程变为a[j] = obstacleGrid[j][i] ? 0 : a[j-1] + a[j];
代码
class Solution {public: int uniquePathsWithObstacles(vector<vector<int> >& obstacleGrid) { int m = obstacleGrid.size(); int n = obstacleGrid[0].size(); int i,j; vector<int> a(m);a[0] = obstacleGrid[0][0] ? 0 : 1; for (i = 1;i < m;i++) a[i] = obstacleGrid[i][0] ? 0 : a[i-1]; for (i = 1;i < n;i++) { a[0] = obstacleGrid[0][i] ? 0 : a[0]; for (j = 1;j < m;j++) a[j] = obstacleGrid[j][i] ? 0 : a[j-1] + a[j];}return a[m-1]; }};
0 0
- Unique Paths & Unique Paths II
- Unique Paths &&Unique Paths II
- Unique Paths & Unique Paths II
- Unique Paths & Unique Paths II
- LeetCode: Unique Paths II
- [Leetcode] Unique Paths II
- LeetCode : Unique Paths II
- Unique Paths II
- [LeetCode] Unique Paths II
- unique paths II
- Unique Paths II
- [LeetCode]Unique Paths II
- Unique Paths II
- Unique Paths II
- Unique Paths II
- Unique Paths II
- [leetcode]Unique Paths II
- Unique Paths II
- 深入理解HandlerThread
- Android-实现类似3DTouch菜单功能
- 【Day36】PHP定时任务获取微信access_token
- 做一个认真的、打破现状的决定
- 经典算法题:谷歌面试经典题目
- Unique Paths II
- Mybatis拦截器
- Centos7手动部署Openstack Mitaka版安装配置--(七)安装dashboard
- Tomcat处理HTTP请求源码分析--包含jsp内置对象的实例过程
- Android ListView使用不同对象加载不同布局
- Javascript数组的常用操作
- C++中利用回调实现消息通知
- 3-js面向对象基础 原型链进阶
- (Android)大牛、大神文章博客地址汇总。