dp基础问题: 寻找2D矩阵中到达某一坐标的可能路径总数(含路障)
问题描述:
问题和上一篇博文类似,不过这次加上一个设定:有一些坐标为路障,不让通行。
分析:
加上路障之后,大致的解题思路是一样的,但是有一些条件需要被考虑到我们求解的过程中:
- 如果起始坐标就是路障,则问题无解
- 如果在行进过程中遇到路障,则 numWays[i][j] 的值设为一个不存在的值,因为坐标(i,j)无法到达。
- 如果最顶或者最左的坐标遇到一个路障,则路障之后的所有坐标都无法到达。
考虑到这些条件,此问题的算法如下:
算法:
/**
*
* @param {int} x
* @param {int} y
*/
var twodimensional = function(x, y) {
// construc numWays dp 2-dimensional-matrix
var numWays = new Array()
for (let i = 0; i < y; i++) {
a[i] = new Array()
for (let j = 0; j < x; j++) {
a[i]