题解 | #奶牛的活动面积#
奶牛的活动面积
https://www.nowcoder.com/practice/666cb0dd46a2439fb7c44d24a9918bf7
import java.util.*;
public class Solution {
/*
dp[i][j]表示以(i,j)为右下角正方形的最大边长,若land[i][j]=='E'时,则dp[i][j]=0;
反之若land[i][j]=='C'且处在边界时,dp[i][j]=1,当i!=0&&j!=0时,dp[i][j]的值取决于该值的左边,上边以及左上的最小值
*/
public int maximalSquare (char[][] land) {
int m=land.length,n= land[0].length;
int dp[][] = new int[m][n];
int max=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(land[i][j]=='E') dp[i][j]=0;
else{
if(i==0||j==0) dp[i][j]=1;
else dp[i][j] = Math.min(dp[i-1][j-1],Math.min(dp[i-1][j],dp[i][j-1]))+1;
}
max=Math.max(max,dp[i][j]);
}
}
return max*max;
}
}
/*
cecee
ceccc
ccccc
ceece
*/

