Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số may mắn trong ma trận JavaScript

Số may mắn là phần tử là nhỏ nhất trong hàng và lớn nhất trong cột. Viết hàm tìm tất cả số may mắn trong mảng 2D.

Ví dụ: [[5,3,7,3],[4,2,67,2],[2,32,7,4],[2,9,45,23]] → [].

Ví dụ

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

Kết quả

[]