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.
维护两个数组。分别统计每行的最小值和每列的最大值,然后两层for去寻找相等值
class Solution(object): def luckyNumbers (self, matrix): """ :type matrix: List[List[int]] :rtype: List[int] """ min_row = [0] * len(matrix) max_col = [0] * len(matrix[0]) for i in range(0, len(matrix), 1): min_row[i] = matrix[i][0] for j in range(1, len(matrix[i]), 1): min_row[i] = min(matrix[i][j], min_row[i]) min_row[i] = min(matrix[i]) for i in range(0, len(matrix[i]), 1): max_col[i] = matrix[0][i] for j in range(1, len(matrix), 1): max_col[i] = max(matrix[j][i], max_col[i]) ans = [] for i in range(0, len(matrix), 1): for j in range(0, len(matrix[i]), 1): if min_row[i] == max_col[j]: ans.append(min_row[i]) return ans
1380. Lucky Numbers in a Matrix
原文:https://www.cnblogs.com/whatyouthink/p/13207701.html