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