题解 | #奶牛的活动面积#

奶牛的活动面积

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
*/
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务