找到 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 閱讀次數

啟動你的 職業生涯

完成課程並獲得認證

入門
廣告