题解 | #奶牛的活动面积#
奶牛的活动面积
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 */