15 动态规划解统计全为1的正方形子矩阵

来源:LeetCode第1277题

难度:中等

描述,给你一个m*n的矩阵,矩阵中的元素不是0就是1,请你统计并返回其中完全由1组成的正方形子矩形的个数;

分析:可以使用动态规划求解dp[i][j]表示以[i][j]为底的最大正方形,如果matrix[i][j]=1则dp[i][j]=min(dp[i-1][j],dp[i-1][j-1],dp[i][j-1])+1,否则为0。

public int maxSquare(int [][]matrix)
{
//申请动态数组
int [][]dp=new int[matrix.length][matrix[0].length];
//动态数组第一列初始化
for(int i=0;i

你可能感兴趣的:(JAVA刷题500道,动态规划,矩阵,算法,java)