作者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/cn.aspx?n=bbs/Marginalman/M.1732540883.A.7C2.html
1F:推 DJYOMIYAHINA: 别卷了 11/25 21:23