题解 | #最大正方形#
最大正方形
http://www.nowcoder.com/practice/0058c4092cec44c2975e38223f10470e
哈哈哈,暴力直接过可还行。
class Solution { public: /** * 最大正方形 * @param matrix char字符型vector<vector<>> * @return int整型 */ int solve(vector<vector<char>>& matrix) { int m=matrix.size(); if(m==0) return 0; int n=matrix[0].size(); if(n==0) return 0; int ans = 0; int side_len = (m<n) ? m : n; while(side_len > 0) { for(int i=0; i+side_len<=m; ++i) { for(int j=0; j+side_len<=n; ++j) { if(matrix[i][j] == '1') { bool flag = true; for(int x=0; x<side_len; ++x) { for(int y=0; y<side_len; ++y) { if(matrix[i+x][j+y]=='0') { flag = false; break; } } } if(flag == true) { return side_len*side_len; } } } } -- side_len; } return ans; } };