假设我们有一个m * n阶的数组。一个人从二维数组(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