矩阵中的幸运数
我的解体思路是,先动态计算出每一行数据的最小值,再根据最小值获取到当前列的index,再去遍历列去判断是否为最大值,如果是则返回。
由于是第一次写掘金文章,也算实现了0的突破。。
废话不多说直接上代码
const luckyNumbers = (matrix: number[][]): number[] => {
//行数
const row = matrix.length;
//行内最小数集合
let arr: number[] = [];
for (let i = 0; i < row; i++) {
const minRow = Math.min.apply(null, matrix[i]);
const j = matrix[i].findIndex(item => item === minRow);
let isMax = true;
for (let k = 0; k < row; k++) {
if (matrix[k][j] > matrix[i][j]) {
isMax = false;
break;
}
}
if(isMax) {
arr.push(minRow);
}
}
return arr
};
如果有更好的解体思路希望大家留言交流,喜欢的小伙伴请支持一下,一键三连🙏