给你一个 m * n
的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。
幸运数 是指矩阵中满足同时下列两个条件的元素:
- 在同一行的所有元素中最小
- 在同一列的所有元素中最大

思路:
求行最小,和列最大,求交集。

python3实现:
class Solution:
def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:
hang = []
for each in matrix:
min_each = min(each)
hang.append(min_each)
lie = []
for every in list(zip(*matrix)):
max_every = max(every)
lie.append(max_every)
print("hang:", hang)
print("lie :", lie)
return list(set(hang) & set(lie))
讲解:
1.用 zip(*matrix)可以取出每一列的元素并组成新的列表,如下图所示。

2.用 set(hang) & set(lie) 可以求出交集,如下图所示。
