题目
用了一下set,熟悉了一下交集,以及set转化为list
求出每一行的最小值和每一列的最大值,求交集
class Solution {
public List<Integer> luckyNumbers (int[][] matrix) {
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
for(int i=0;i<matrix.length;i++){
int min = Integer.MAX_VALUE;
for(int j=0;j<matrix[0].length;j++){
min = Math.min(min,matrix[i][j]);
}
set1.add(min);
}
for(int i=0;i<matrix[0].length;i++){
int max = Integer.MIN_VALUE;
for(int j=0;j<matrix.length;j++){
max = Math.max(max,matrix[j][i]);
}
set2.add(max);
}
set1.retainAll(set2);
List<Integer> list = new ArrayList<>(set1);
return list;
}
}