Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาเส้นทางที่ไม่ซ้ำกันทั้งหมดใน JavaScript


สมมติว่าเรามีลำดับของ m * n บุคคลเริ่มต้นที่บล็อกเริ่มต้นของอาร์เรย์ 2 มิติ (0,0) และเขาต้องการไปให้ถึงจุดสิ้นสุด (m, n) ข้อจำกัดคือในครั้งเดียว เขาสามารถเลื่อนลงมาหนึ่งขั้นหรือไปทางขวาหนึ่งก้าว

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ความสูงและความกว้างของตาราง 2 มิติ

ฟังก์ชันควรค้นหาจำนวนเส้นทางที่ไม่ซ้ำกันซึ่งบุคคลสามารถเข้าถึงได้จนถึงจุดสิ้นสุด

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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