Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การค้นหาตัวเลขโชคดีในเมทริกซ์ด้วย JavaScript

ตัวเลขโชคดี (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));

ผลลัพธ์

[]