示例 1:
输入:matrix = [[1,-1],[-1,1]]
输出:4
解释:我们可以执行以下操作使和等于 4 :
可以交换任意次数,那么题解就是: 1:偶数个负数,那么就可以消除完,矩阵内所有的元素绝对值之和就是答案. 2:奇数个,那么最后肯定还剩最后一个负数,保证他是绝对值中最小的一个即可
class Solution {
public:
long long maxMatrixSum(vector<vector<int>>& matrix) {
long long ans = 0, _m = INT_MAX, sum = 0;
for(auto &kk : matrix) {
for(auto &k : kk) {
if(k < 0) ans++;
_m = _m > abs(k) ? abs(k) : _m;
sum += abs(k);
}
}
return ans % 2 == 0 ? sum : sum - 2 * _m;
}
};
原文:https://www.cnblogs.com/smilerain/p/15177727.html