Re: [閒聊] 每日leetcode

看板Marginalman作者 (通通打死)時間2天前 (2026/01/05 23:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1561/1561 (看更多)
總之就是一次可以選任意兩個element同乘-1 如果"非正整數"剛好是偶數個的話 就直接全部abs相加就好 如果是奇數個的話 就還要看要把最後一個負轉嫁到誰身上 那就是絕對值最小的那個上面 我這邊就邊WA邊修 才修成這麼醜 哀哀哀 第一個是忘記考慮0 0應該一起算 一開始只算到負數的count就錯 第二個是忘記考慮到正負也可以對換 思緒還是不夠直接清晰 def maxMatrixSum(self, matrix: List[List[int]]) -> int: neg_cnt = 0 largest_neg = -100000 smallest_pos = 100000 m, n = len(matrix), len(matrix[0]) for i in range(m): for j in range(n): if matrix[i][j]<=0: neg_cnt += 1 largest_neg = max(largest_neg, matrix[i][j]) else: smallest_pos = min(smallest_pos, matrix[i][j]) if neg_cnt%2 == 0: return sum([sum([abs(matrix[i][j]) for j in range(n)]) for i in range(m)]) else: if abs(largest_neg)<smallest_pos: return sum([sum([abs(matrix[i][j]) for j in range(n)]) for i in range(m)]) + 2*largest_neg else: return sum([sum([abs(matrix[i][j]) for j in range(n)]) for i in range(m)]) - 2*smallest_pos -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1767625735.A.040.html
文章代碼(AID): #1fMzG710 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1fMzG710 (Marginalman)