LeetCode简单题之矩阵中的幸运数
題目
給你一個(gè) m * n 的矩陣,矩陣中的數(shù)字 各不相同 。請(qǐng)你按 任意 順序返回矩陣中的所有幸運(yùn)數(shù)。
幸運(yùn)數(shù)是指矩陣中滿足同時(shí)下列兩個(gè)條件的元素:
在同一行的所有元素中最小
在同一列的所有元素中最大
示例 1:
輸入:matrix = [[3,7,8],[9,11,13],[15,16,17]]
輸出:[15]
解釋:15 是唯一的幸運(yùn)數(shù),因?yàn)樗瞧渌谛兄械淖钚≈?#xff0c;也是所在列中的最大值。
示例 2:
輸入:matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]
輸出:[12]
解釋:12 是唯一的幸運(yùn)數(shù),因?yàn)樗瞧渌谛兄械淖钚≈?#xff0c;也是所在列中的最大值。
示例 3:
輸入:matrix = [[7,8],[1,2]]
輸出:[7]
提示:
m == mat.length
n == mat[i].length
1 <= n, m <= 50
1 <= matrix[i][j] <= 10^5
矩陣中的所有元素都是不同的
來(lái)源:力扣(LeetCode)
解題思路
??針對(duì)這一題可以先找出第i行的最小值和它在當(dāng)前行中的列下標(biāo),然后再在同列中查找是否存在其他的值大于當(dāng)前值,如果不存在則符合條件,反之則不符合。
class Solution:def luckyNumbers (self, matrix: List[List[int]]) -> List[int]:temp=[] #存放符合條件的值for i in range(len(matrix)):flag=1 #當(dāng)前值是否符合條件的標(biāo)記m=min(matrix[i])index=matrix[i].index(m)k=ifor j in range(len(matrix)-1):k=(k+1)%len(matrix) #在同列中尋找if m<matrix[k][index]: #如果在同列中找到比當(dāng)前值更大的值flag=0 #不符合條件breakif flag:temp.append(m)return temp
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之矩阵中的幸运数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode简单题之删除某些元素后的
- 下一篇: LeetCode简单题之按照频率将数组升