作者JIWP (神楽めあ的錢包)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon Nov 25 21:21:20 2024
1975. Maximum Matrix Sum
思路:
這題的關鍵在於負數的數量
只要是偶數,那一定可以全部變成正數
如果是奇數,那一定會留下一個負數
所以就是去計算負數的數量和紀錄絕對值最小的數並且計算所有絕對值得總和
如果負數是偶數個,那就回傳絕對值總和
如果是奇數個,那就將總和-2*絕對值最小的數
golang code :
func maxMatrixSum(matrix [][]int) int64 {
ans, cnt := 0, 0
minValue := int(1e10)
for _, array := range matrix {
for _, val := range array {
if val < 0 {
cnt++
ans -= val
minValue = min(minValue, -val)
} else {
ans += val
minValue = min(minValue, val)
}
}
}
if cnt&1 == 1 {
ans -= (minValue << 1)
}
return int64(ans)
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.144.16 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Marginalman/M.1732540883.A.7C2.html
1F:推 DJYOMIYAHINA: 別卷了 11/25 21:23