子矩陣的最大累加和

2021-08-20 11:23:29 字數 936 閱讀 5544

一、題目要求

給定乙個矩陣matrix,其中的值有正有負,有0,返回子矩陣的最大累加和,例如,矩陣matrix為:

-90 48 78

64 -40 64

-81 07 66

其中,最大累加和的子矩陣為:

48 78

-40 64

-7 66

所以返回累加和209

二、解題思路

將矩陣matrix[n][n]的每一列的n個元素累加成乙個累加陣列,然後求出這個陣列的最大累加和,這個最大累加和就是所求子矩陣的最大累加和

#include

#include

#include

#include

using

namespace

std;

int max(int x, int y)

//子矩陣的最大累加和問題:

//題目要求:給定乙個矩陣matrix,其中的值有正有負,有0,返回子矩陣的最大累加和

//解題思路:

//將矩陣matrix[n][n]的每一列的n個元素累加成乙個累加陣列,然後求出這個陣列的最大累加和,這個最大累加和就是所求子矩陣的最大累加和

int maxsum(vector

>& matrix)

} }

delete s;

return maxres;

} int main()

matrix.push_back(temp);

} }

int res = maxsum(matrix);

cout

<< res << endl;

system("pause");

return

0;

}

子矩陣最大累加和

問題描述如下 給定乙個矩陣matrix,其中的值有正 有負 有0,返回子矩陣的最大累加和。藍橋備戰資料 演算法很美 chapter4 多維陣列和矩陣 先想到了一維陣列的求子陣列最大累加和的題目,時間複雜度為o n 利用這種思維來處理這道題目。第一列第二列 第三列最大累加和 第一行 1 1 1 1第一...

子矩陣的最大累加和

題目 給定乙個矩陣matrix,其中的值有正 有負 有零,返回子矩陣的最大累加和。例如矩陣matrix為 90 48 78 64 40 64 81 7 66 其中,最大累加和的子矩陣為 48 78 40 64 7 66 所以返回子矩陣的最大累加和為209。解析 最簡單也最容易想到的方法是求出矩陣中的...

最大連續子矩陣累加和

在此之前我們先做個鋪墊 題目大意 給定n個數,求這些數的某個連續子串行的累加和,保證這個連續子串行的累加和最大 舉個栗子 俗稱樣例 輸入 7 34 9 2 58 3輸出 14樣例解釋 最大的呢是 4 9 2 5 8 由此可見,無法將加上當前數的和與當前最大值進行對比來確定答案,雖然有負數,但之後可能...