这个题跟矩阵置零好像啊,都是可以用第一行和第一列来记录状态
原地算法,使用第一列来记录每一行的最小值,不需要额外开销,但是最后会修改matrix[0][0]
class Solution(object):
def luckyNumbers (self, matrix):
"""
:type matrix: List[List[int]]
:rtype: List[int]
好像那个原地算法矩阵置零啊
"""
list_col=[0 for i in matrix[0]]
for i in range(len(matrix)):#i行
for j in range(len(matrix[0])):#j列
if matrix[i][j]>list_col[j]:
list_col[j]=matrix[i][j]
if matrix[i][j]<matrix[i][0]:
matrix[i][0]=matrix[i][j]#使用第一列记录每行的最小值
ans=[]
for i in range(len(matrix)):
if matrix[i][0] in list_col:
ans.append(matrix[i][0])
return ans