ตัวเลขโชคดี (Lucky Number)
ตัวเลขโชคดีคือสมาชิกในเมทริกซ์ที่เป็นค่าต่ำสุดในแถวของมัน และเป็นค่าสูงสุดในคอลัมน์ของมัน
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองมิติของจำนวนเต็ม ฟังก์ชันต้องหาตัวเลขโชคดีทั้งหมด สร้างอาร์เรย์ใหม่และคืนค่าตัวเลขโชคดีทั้งหมด
ตัวอย่าง
ถ้าอาร์เรย์นำเข้าคือ:
const arr = [ [5, 3, 7, 3], [4, 2, 67, 2], [2, 32, 7, 4], [2, 9, 45, 23] ];
ผลลัพธ์ควรเป็น:
const output = [];
ตัวอย่างโค้ด
const arr = [
[5, 3, 7, 3],
[4, 2, 67, 2],
[2, 32, 7, 4],
[2, 9, 45, 23]
];
const luckyNumbers = (arr = []) => {
const column = arr.length;
for(let c = 0; c < column; c++) {
let minRow = Math.min(...arr[c]);
let pos = arr[c].indexOf(minRow);
if(minRow === arr[c][pos]) {
let tmpMaxColumn = arr[c][pos];
for(let j = 0; j < column; j++) {
if(arr[j][pos] > tmpMaxColumn) {
tmpMaxColumn = arr[j][pos];
break;
}
}
if(tmpMaxColumn === minRow) {
return [tmpMaxColumn];
}
}
}
return [];
};
console.log(luckyNumbers(arr));
ผลลัพธ์
[]