找到 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

更新于:11-Dec-2020

201 阅读次数

启动你的 职业生涯

完成课程并获得认证

入门
广告