0
点赞
收藏
分享

微信扫一扫

2022.02.15 - 240.矩阵中的幸运数

诗远 2022-02-15 阅读 26
算法

文章目录

1. 题目

在这里插入图片描述
在这里插入图片描述

2. 思路

(1) 模拟法

  • 遍历矩阵,先找出每行的最小值,再找出每列的最大值,若存在重复元素,则表示该元素为幸运数。

3. 代码

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test {
    public static void main(String[] args) {
    }
}

class Solution {
    public List<Integer> luckyNumbers(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;
        List<Integer> res = new ArrayList<>();
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < m; i++) {
            int min = Integer.MAX_VALUE;
            for (int j = 0; j < n; j++) {
                min = Math.min(min, matrix[i][j]);
            }
            set.add(min);
        }
        for (int i = 0; i < n; i++) {
            int max = Integer.MIN_VALUE;
            for (int j = 0; j < m; j++) {
                max = Math.max(max, matrix[j][i]);
            }
            if (!set.add(max)) {
                res.add(max);
            }
        }
        return res;
    }
}
举报

相关推荐

0 条评论