Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm tất cả các đường dẫn duy nhất trong JavaScript

Giả sử chúng ta có một mảng có thứ tự m * n. Một người bắt đầu từ khối bắt đầu của mảng 2-D (0,0) và anh ta muốn đến cuối (m, n). Hạn chế là ngay lập tức, anh ta có thể di chuyển xuống một bước hoặc một bước sang phải.

Chúng tôi được yêu cầu viết một hàm JavaScript có chiều cao và chiều rộng của lưới 2-D.

Hàm sẽ tìm ra số lượng đường dẫn duy nhất có sẵn để người đó đi đến cuối.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

10