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ả
[]