华为OD机试Js - 矩阵元素的边界值
// 在JavaScript中找到矩阵中每行的最大值和每列的最小值
function findMatrixBounds(matrix) {
if (!matrix.length) return [];
let rowMaximums = [];
let colMinimums = new Array(matrix[0].length).fill(Infinity);
for (let i = 0; i < matrix.length; i++) {
let max = Math.max(...matrix[i]);
rowMaximums.push(max);
for (let j = 0; j < matrix[i].length; j++) {
colMinimums[j] = Math.min(colMinimums[j], matrix[i][j]);
}
}
return rowMaximums.concat(colMinimums);
}
// 示例使用
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(findMatrixBounds(matrix)); // 输出: [9, 1, 2, 3, 4, 5, 6, 7, 8]
这段代码首先检查输入矩阵是否为空,然后初始化行最大值数组和列最小值数组。接着遍历矩阵的每一行,计算每行的最大值,并更新列最小值数组。最后,将行最大值和列最小值连接成一个数组并返回。这个方法演示了如何有效地遍历矩阵并同时找到多个统计数据,这是一个在机试或者算法竞赛中常见的技巧。
评论已关闭