博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unique Paths II 动态规划(重重重)
阅读量:4107 次
发布时间:2019-05-25

本文共 976 字,大约阅读时间需要 3 分钟。

题目:

解答:

如果有障碍,则令该格不可通过。

http://www.cnblogs.com/qianye/archive/2013/09/06/3305680.html

代码:

class Solution {  public:	  int uniquePathsWithObstacles(vector
> &obstacleGrid) { int a[101][101]; memset(a, 0, sizeof(int)*101 * 101); int m = obstacleGrid.size(); int n = obstacleGrid.begin()->size(); if (obstacleGrid[0][0] == 1 || m <= 0 || n <= 0) //如果第一个格为障碍,则不需要计算,其他的肯定不可达 return 0; a[0][0] = 1; for (int i = 1; i < m; i++) { if (obstacleGrid[i][0] == 1) a[i][0] = 0; else a[i][0] = a[i-1][0]; //这里要注意 不能简单的赋值为1, 要根据上一步的结果赋值 } for (int i = 1; i < n; i++) { if (obstacleGrid[0][i] == 1) a[0][i] = 0; else a[0][i] = a[0][i-1]; //这里要注意 不能简单的赋值为1, 要根据上一步的结果赋值 } for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { if (obstacleGrid[i][j] == 1) a[i][j] = 0; else a[i][j] = a[i][j - 1] + a[i - 1][j]; } } return a[m - 1][n - 1]; } };
你可能感兴趣的文章
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>
再见,Eclipse...
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>