1380. 矩阵中的幸运数
- 题号:力扣1380
- 知识点:矩阵
- 目标完成度:10/150
- 总结
题干:
思路:
- 1.第一层循环按行遍历,找出该行的最小值(
w_min
)和最小值位置(matrix[i][j]
),找到matrix[i][j]
为i
行的最小值 - 2.判段是否同时是所在列(
j
列)的最大值,如果是,则加入返回结果。
class Solution:
def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:
ret = []
w_min = 0
h_max = 0
for i in range(len(matrix)):
w_min = min(k for k in matrix[i]) # 行最小值
for j in range(len(matrix[0])):
if matrix[i][j] == w_min: # 寻找行最小值位置 i,j
h_max = 0
# 找j列最大值
for m in range(len(matrix)):
if matrix[m][j] > h_max:
h_max = matrix[m][j]
# 如果 matrix[i][j]也是列最大值
if matrix[i][j] == h_max:
ret.append(matrix[i][j])
return ret
- 3.官方题解也较好
参考:官方题解