public static int maximalSquare(char[][] matrix) {
int area = 0;
if (matrix.length < 1 || matrix[0].length < 1) {
return area;
}
int max = 0;
int l = matrix.length, r = matrix[0].length;
int[][] dp = new int[l][r];
for (int i = 0; i < l; i++){
for (int j = 0; j < r; j++){
if (matrix[i][j] == '1'){
if (i == 0 || j == 0){
dp[i][j] = 1;
}else {
dp[i][j] = Math.min(dp[i - 1][j], Math.min(dp[i - 1][j - 1], dp[i][j - 1])) + 1;
}
}
max = Math.max(max, dp[i][j]);
}
}
return max * max;
}
LeetCode221最大正方形
最新推荐文章于 2022-07-09 17:01:57 发布