最大子矩阵和动态规划代码
时间: 2023-11-15 12:01:39 浏览: 94
最大子序列求和动态规划
最大子矩阵和问题是指在一个二维矩阵中,找到一个子矩阵,使得该子矩阵中所有元素的和最大。这个问题可以使用动态规划来解决。
以下是最大子矩阵和问题的动态规划代码:
```
int maxSubmatrixSum(vector<vector<int>>& matrix) {
int rows = matrix.size();
int cols = matrix[0].size();
int maxSum = INT_MIN;
for (int i = 0; i < rows; i++) {
vector<int> sums(cols, 0);
for (int j = i; j < rows; j++) {
for (int k = 0; k < cols; k++) {
sums[k] += matrix[j][k];
}
int curSum = 0;
int curMax = INT_MIN;
for (int k = 0; k < cols; k++) {
curSum = max(curSum + sums[k], sums[k]);
curMax = max(curMax, curSum);
}
maxSum = max(maxSum, curMax);
}
}
return maxSum;
}
```
阅读全文