一、題目要求
給定乙個矩陣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 由此可見,無法將加上當前數的和與當前最大值進行對比來確定答案,雖然有負數,但之後可能...