#include <vector>
class SubMatrix {
public:
int sumOfSubMatrix(vector<vector<int> > mat, int n) {
// write code here
int res = mat[0][0];
for (int top = 0; top < n; ++top) {
vector<int>col_sum(n, 0);
//compress
for (int bottom = top; bottom < n; ++bottom) {
for (int col = 0; col < n; ++col) {
col_sum[col] += mat[bottom][col];
}
int cur=col_sum[0], max_sub=col_sum[0];
for(int i=1;i<n;++i)
{
cur = max(col_sum[i], cur+col_sum[i]);
res = max(res, cur);
}
}
}
return res;
}
};

京公网安备 11010502036488号