不同的路径 II

 

"不同的路径" 的跟进问题:

现在考虑网格中有障碍物,那样将会有多少条不同的路径?

网格中的障碍和空位置分别用 1 和 0 来表示。

注意事项

m 和 n 均不超过100

您在真实的面试中是否遇到过这个题?

Yes
哪家公司问你的这个题? LinkedIn Amazon Airbnb Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Yelp Apple Yahoo Bloomberg Zenefits Twitter Microsoft Google Snapchat Facebook
感谢您的反馈
样例

如下所示在3x3的网格中有一个障碍物:

[
[0,0,0],
[0,1,0],
[0,0,0]
]

一共有2条不同的路径从左上角到右下角。

 
 
 
 
114题加强版
思路没变,
引用b数组,作为障碍数组。
class Solution {
public:
/*
* @param obstacleGrid: A list of lists of integers
* @return: An integer
*/
int b[101][101];
int uniquePathsWithObstacles(vector<vector<int>> &a) {
// write your code here
int x=a.size();
int y=a[x-1].size();
if(a[0][0]==1)
return 0;
for(int i=0;i<x;i++)
for(int j=0;j<y;j++){
if(a[i][j]==1)
b[i][j]=-1;
a[i][j]=0;
}
int flag=0;
for(int i=0;i<x;i++){
a[i][0]=1;
if(b[i][0]==-1)
flag=1;
if(flag)
a[i][0]=0;
}
flag=0;
for(int i=0;i<y;i++){
a[0][i]=1;
if(b[0][i]==-1)
flag=1;
if(flag)
a[0][i]=0;
} for(int i =1;i<x;i++)
for(int j=1;j<y;j++){
a[i][j]=a[i-1][j]+a[i][j-1];
if(b[i][j]==-1)
a[i][j]=0;
}
return a[x-1][y-1]; }
};

  

最新文章

  1. 【社工】NodeJS 应用仓库钓鱼
  2. Android 生成和Pull解析xml
  3. http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
  4. 20145227《Java程序设计》课程总结
  5. 页面性能测试&amp;提升方式
  6. PHP之路——VC库
  7. C# DLL文件注册问题(涉及AxInterop.WMPLib.dll等)
  8. 兔子--gradle安装和配置
  9. Redmine基础: 邮件配置
  10. [BZOJ1085] [SCOI2005] 骑士精神 (A*)
  11. 本地操作功能 --local_action
  12. Netty 系列四(ChannelHandler 和 ChannelPipeline).
  13. Python学习之赋值列表
  14. Python之历史
  15. andorid ndk 各种坑啊 记录下
  16. DateTime数据类型保存问题(DateTime2)
  17. springboot2.0 web 开发标准目录架构
  18. pgAdmin4 汉化
  19. 基于 Vue BootStrap的迷你Chrome插件
  20. 调用jdbc已经写成的方法----jdbc工具类抽取方式三

热门文章

  1. Intellij IDEA +genymotion安装配置
  2. 导出CSV
  3. c# 远程连接sql server 2008问题
  4. C#多线程进度条
  5. Linux下svn环境搭建
  6. vue组件双向绑定.sync修饰符的一个坑
  7. http-equiv和name的区别
  8. js实现弹幕效果
  9. 初学:react-native 轮播图
  10. Mono For Android如何在VS2012 中打开设计界面