LeetCode-221.最大正方形
程序员文章站
2022-07-13 21:59:25
...
题目:
代码:
class Solution {
public:
int maximalSquare(vector<vector<char>>& matrix) {
if(matrix.size()==0) return 0;
int m=matrix.size(),n=matrix[0].size();
int ans[m][n];
int a=0;
//ans[0][0]=matrix[0][0]-'0';
for(int i=0;i<n;i++) {ans[0][i]=matrix[0][i]-'0';if(a<ans[0][i]) a=ans[0][i];}
for(int i=0;i<m;i++) {ans[i][0]=matrix[i][0]-'0';if(a<ans[i][0]) a=ans[i][0];}
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
if(matrix[i][j]=='0') ans[i][j]=0;
else{
ans[i][j]=1+min(ans[i-1][j],min(ans[i][j-1],ans[i-1][j-1]));
if(a<ans[i][j]) a=ans[i][j];
}
}
}
return a*a;
}
};
上一篇: LeetCode-221:最大正方形
下一篇: leetcode 221. 最大正方形