Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (通通打死)時間1年前 (2024/07/19 08:52), 編輯推噓8(801)
留言9則, 9人參與, 1年前最新討論串523/1550 (看更多)
其實直覺來看 就取個row的minimum與各col的maximum 如果這兩個有交集就是答案了 肥肥智商大概只到這裡 後來看別人討論 發現這個lucky number最多只有一個 若存在兩個lucky number的話 假設是(i0,j0)跟(i1,j1)位置 可以導出 M(i0,j0) > M(i1,j0) > M(i1,j1) > M(i0,j1) > M(i0,j0) -> 矛盾 所以不可能有兩個lucky number 然後這個lucky number 也必然是 row minimums裡面的maximum 以及 col maximums裡面的minimum 若不是row minimums裡面的maximum的話 假設是row minimums裡面第二大的 代表那個column裡的值 都是比這個第二大的值小 那就代表其他row有更小的值 然後就怎樣怎樣的我打不完了我要去上班了== 我就這樣了 def luckyNumbers (self, matrix: List[List[int]]) -> List[int]: mins_r = [min(r) for r in matrix] mins_c = set() for i in range(len(matrix[0])): cur = 0 for j in range(len(matrix)): cur = max(matrix[j][i], cur) mins_c.add(cur) # intersect ans = [] for minr in mins_r: if minr in mins_c: ans.append(minr) return ans -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1721350327.A.2FA.html

07/19 08:53, 1年前 , 1F
大師
07/19 08:53, 1F

07/19 08:56, 1年前 , 2F
大師
07/19 08:56, 2F

07/19 09:03, 1年前 , 3F
大師
07/19 09:03, 3F

07/19 09:04, 1年前 , 4F
別倦了
07/19 09:04, 4F

07/19 09:04, 1年前 , 5F
大師
07/19 09:04, 5F

07/19 09:07, 1年前 , 6F
放過我
07/19 09:07, 6F

07/19 09:08, 1年前 , 7F
我好崇拜你
07/19 09:08, 7F

07/19 09:08, 1年前 , 8F
大師
07/19 09:08, 8F

07/19 09:59, 1年前 , 9F
大師
07/19 09:59, 9F
文章代碼(AID): #1ccRYtBw (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ccRYtBw (Marginalman)