計算 JavaScript 中二維陣列中行和列中最大的數字
要求編寫一個 JavaScript 函式,該函式僅採用一個二維整數陣列作為引數。
此函式的任務是計算陣列中的所有此類整數,這些整數是其行和列中的最大整數。
然後,該函式應返回該計數。
例如 -
如果輸入陣列為 -
const arr = [ [21, 23, 22], [26, 26, 25], [21, 25, 27] ];
則輸出應為 -
const output = 3;
因為這三個數字是 26、26、27
示例
程式碼如下 -
const arr = [ [21, 23, 22], [26, 26, 25], [21, 25, 27] ]; const countGreatest = (matrix = []) => { let rows = matrix.length; if (rows == 0){ return 0; }; let cols = matrix[0].length; const colMax = []; const rowMax = []; let res = 0; for (let r = 0; r < rows; ++ r) { for (let c = 0; c < cols; ++ c) { rowMax[r] = Math.max(rowMax[r] || 0, matrix[r][c]); colMax[c] = Math.max(colMax[c] || 0, matrix[r][c]); } }; for (let r = 0; r < rows; ++ r) { for (let c = 0; c < cols; ++ c) { if (matrix[r][c] == rowMax[r] && matrix[r][c] == colMax[c]) { res ++; } } } return res; }; console.log(countGreatest(arr));
輸出
以下為控制檯輸出 -
3
廣告