在JavaScript中的矩阵中查找幸运数字

幸运数字:

幸运数字是矩阵的一个元素,因此它是行中的最小元素,列中的最大元素。

我们需要编写一个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));
输出结果

以下是控制台输出-

[]