Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-11-25 21:21:20
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)
}
作者: DJYOMIYAHINA (通通打死)   2024-11-25 21:23:00
别卷了

Links booklink

Contact Us: admin [ a t ] ucptt.com