题解 | #最大正方形#
最大正方形
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;
}
};

查看12道真题和解析