1975. Maximum Matrix Sum

更新 發佈閱讀 5 分鐘
https://leetcode.com/problems/maximum-matrix-sum?envType=daily-question&envId=2026-01-05

這一題我願稱之為腦筋急轉彎之騙到我了。

經過了 542 的洗禮後,我看到每個題目都想了想是否可以用 queue 解。這一題我想到了用 queue 的解法,一開始還瞎開心了很久。接著越寫越怪,很多邊界問題我在想要如何解決,看著 print 出來的內容我思考著,想說怎麼會一大坨一直換位置。突然,靈機一動看到範例二猶如醍醐灌頂。阿不就是只要有偶數個複數他們都可以消掉嗎!只要一直換位置就好了。

==

OK 如果有了這個想法,這題說是 easy 中的 easy 也不為過,以下程式碼廢話不多說:

class Solution {
public:

vector<int> DIR = {0, 1, 0, -1, 0};

long long maxMatrixSum(vector<vector<int>>& matrix) {
long long ans = 0;
int min_num = std::numeric_limits<int>::max();
bool neg_count = false;
int n = matrix.size();

for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {

if (matrix[i][j] < 0) {
neg_count = ! neg_count;
ans += matrix[i][j]*(-1);
min_num = min(min_num, matrix[i][j]*(-1));
}
else {
ans += matrix[i][j];
min_num = min(min_num, matrix[i][j]);
}
}
}
if (neg_count) {
ans -= 2 * min_num;
}

return ans;
}
};

Best Solution

因為我的程式碼做法很土炮,附上別人的好看程式碼:

class Solution {
public:
long long maxMatrixSum(vector<vector<int>>& matrix) {
long long totalSum = 0;
int minAbsVal = INT_MAX;
int negativeCount = 0;

for (auto& row : matrix) {
for (int val : row) {
totalSum += abs(val);
if (val < 0) {
negativeCount++;
}
minAbsVal = min(minAbsVal, abs(val));
}
}

// Adjust if the count of negative numbers is odd
if (negativeCount % 2 != 0) {
totalSum -= 2 * minAbsVal;
}

return totalSum;
}
};

可以看到他跟我的差別是用 abs 還有 auto 的遍歷,解掉了一些多餘的 index 計算與乘法計算。

留言
avatar-img
星星在晚上的時候不睡覺
0會員
13內容數
資工系的勞碌人生
2026/01/05
https://leetcode.com/problems/01-matrix?envType=problem-list-v2&envId=rabvlt31 熊熊發現最近我好像特愛暴力法...這題我的解法就是暴力破解,沒什麼含金量,程式碼又臭又長,beat 5%的 runtime and memo
2026/01/05
https://leetcode.com/problems/01-matrix?envType=problem-list-v2&envId=rabvlt31 熊熊發現最近我好像特愛暴力法...這題我的解法就是暴力破解,沒什麼含金量,程式碼又臭又長,beat 5%的 runtime and memo
2026/01/04
https://leetcode.com/problems/four-divisors?envType=daily-question&envId=2026-01-04 找因數並且做相加的題目。找因數是我很害怕的類型,因為我對輾轉相除法之類的真的是永遠背不起來,每次都考過就忘,遇到這題我的知識庫裡就
2026/01/04
https://leetcode.com/problems/four-divisors?envType=daily-question&envId=2026-01-04 找因數並且做相加的題目。找因數是我很害怕的類型,因為我對輾轉相除法之類的真的是永遠背不起來,每次都考過就忘,遇到這題我的知識庫裡就
2026/01/04
https://leetcode.com/problems/number-of-ways-to-paint-n-3-grid?envType=daily-question&envId=2026-01-03 第一個在 leetcode 寫到的 Hard 題目,我覺得這題不算是很難想出解法的類型,他難
2026/01/04
https://leetcode.com/problems/number-of-ways-to-paint-n-3-grid?envType=daily-question&envId=2026-01-03 第一個在 leetcode 寫到的 Hard 題目,我覺得這題不算是很難想出解法的類型,他難
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
題目 : 9. Palindrome Number
Thumbnail
題目 : 9. Palindrome Number
Thumbnail
題目 : 121. Best Time to Buy and Sell Stock
Thumbnail
題目 : 121. Best Time to Buy and Sell Stock
Thumbnail
題目 : 35. Search Insert Position
Thumbnail
題目 : 35. Search Insert Position
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
題目:66. Plus One
Thumbnail
題目:66. Plus One
Thumbnail
題目 : 100. Same Tree
Thumbnail
題目 : 100. Same Tree
Thumbnail
題目 : 69. Sqrt(x)
Thumbnail
題目 : 69. Sqrt(x)
Thumbnail
題目 : 28. Find the Index of the First Occurrence in a String
Thumbnail
題目 : 28. Find the Index of the First Occurrence in a String
Thumbnail
題目 : 83. Remove Duplicates from Sorted List
Thumbnail
題目 : 83. Remove Duplicates from Sorted List
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News