解题思路:
(1)递归+排序
(2)注意中间断层
class Solution {
public:
int largestSubmatrix(vector<vector<int>>& matrix) {
int m=matrix.size(),n=matrix[0].size();
vector<int> v(n,0);
int maxsum=0;
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
if(matrix[i][j]==1) v[j]++;
else v[j]=0;
}
vector<int> vec=v;
sort(vec.begin(),vec.end());
for(int i=0;i<n;i++) {
maxsum=max(maxsum,(n-i)*vec[i]);
}
}
return maxsum;
}
};