สมมติว่าเรามีลำดับของ 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