https://leetcode.com/problems/lucky-numbers-in-a-matrix/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Solution {
public List<Integer> luckyNumbers(int[][] matrix) {
int lucky = 0;
List<Integer> minOfRow = new ArrayList<Integer>();
List<Integer> maxOfCol = new ArrayList<Integer>();
for (int i = 0; i < matrix.length; i++) {
int mini = Integer.MAX_VALUE;
for (int j = 0; j < matrix[0].length; j++) {
mini = Math.min(mini, matrix[i][j]);
}
minOfRow.add(mini);
int maxi = 0;
for (int j = 0; j < matrix[0].length; j++) {
maxi = Math.max(maxi, matrix[j][i]);
}
maxOfCol.add(maxi);
}
// 로우 열 ㅡ
// 행 컬 |
// 아 혹시 행의 최소 따로 구하고 열의 최소 따로 구해서 매칭해뵈야 하니???
List<Integer> answer = new ArrayList<Integer>();
Collections.sort(minOfRow);
Collections.sort(maxOfCol);
int temp = minOfRow.get(minOfRow.size() - 1);
if (temp == maxOfCol.get(0)) {
answer.add(temp);
}
return answer;
}
public static void main(String[] args) {
tester(new int[][]{{36376, 85652, 21002, 4510}, {68246, 64237, 42962, 9974}, {32768, 97721, 47338, 5841}, {55103, 18179, 79062, 46542}});
tester(new int[][]{{56216}, {63251}, {75772}, {1945}, {27014}});
}
private static void tester(int[][] mat) {
Solution s = new Solution();
List<Integer> ret = s.luckyNumbers(mat);
System.out.println(ret.toString());
}
}