标签:return math 必须 hat ++ its bsp const public
Given a m * n
matrix of distinct numbers, return all lucky numbers in the matrix in any order.
A lucky number is an element of the matrix such that it is the minimum element in its row and maximum in its column.
Example 1:
Input: matrix = [[3,7,8],[9,11,13],[15,16,17]] Output: [15] Explanation: 15 is the only lucky number since it is the minimum in its row and the maximum in its column
Example 2:
Input: matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]] Output: [12] Explanation: 12 is the only lucky number since it is the minimum in its row and the maximum in its column.
Example 3:
Input: matrix = [[7,8],[1,2]] Output: [7]
Constraints:
m == mat.length
n == mat[i].length
1 <= n, m <= 50
1 <= matrix[i][j] <= 10^5
.public List<Integer> luckyNumbers (int[][] matrix) { int m = matrix.length, n = matrix[0].length; int[] mi = new int[m], mx = new int[n]; Arrays.fill(mi, Integer.MAX_VALUE); for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { mi[i] = Math.min(matrix[i][j], mi[i]); mx[j] = Math.max(matrix[i][j], mx[j]); } } List<Integer> res = new ArrayList<>(); for (int i = 0; i < m; ++i) for (int j = 0; j < n; ++j) if (mi[i] == mx[j]) res.add(mi[i]); return res; }
lucky number: 既是每行最小的数,也是每列最大的数
设置两个数组存放每行最小,和每列最大的数
比较,两者必须相等才是一个可能的解,加入list中
1380. Lucky Numbers in a Matrix
标签:return math 必须 hat ++ its bsp const public
原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12501663.html