找到 Javascript 中所有唯一路径
假设我们有一个 m * n 阶矩阵。一个人从 2-D 数组的起始方块 (0,0) 开始,他想到达末端 (m, n)。限制条件是,他一次只能向右移动一步或向下移动一步。
我们需要编写一个 JavaScript 函数,其中传入 2-D 矩阵的高度和宽度。
该函数应找出此人可以用来到达末端的唯一路径数。
示例
以下是代码 −
const height = 3; const width = 4; const findUniquePath = (width = 1, height = 1) => { const board = Array(height).fill(null).map(() => { return Array(width).fill(0); }); for (let rowIndex = 0; rowIndex < height; rowIndex += 1) { for (let columnIndex = 0; columnIndex < width; columnIndex += 1) { if (rowIndex === 0 || columnIndex === 0) { board[rowIndex][columnIndex] = 1; } } } for (let rowIndex = 1; rowIndex < height; rowIndex += 1) { for (let columnIndex = 1; columnIndex < width; columnIndex += 1) { const uniquesFromTop = board[rowIndex - 1][columnIndex]; const uniquesFromLeft = board[rowIndex][columnIndex - 1]; board[rowIndex][columnIndex] = uniquesFromTop + uniquesFromLeft; } } return board[height - 1][width - 1]; }; console.log(findUniquePath(width, height));
输出
以下是控制台中的输出 −
10
广告