221. 最大正方形221. 最大正方形题目题解class Solution { public int maximalSquare(char[][] matrix) { int n matrix.length; int m matrix[0].length; if(matrixnull||n1||m1) { return 0; } int[][] dp new int[n1][m1]; int maxSum0; for(int i1;in;i) { for(int j1;jm;j) { if(matrix[i-1][j-1]1) { //这个操作使得如果左边上边左上边全是1的时候才会计入边长加一 //否则边长依旧是最小的这就说明该点不会参与最短边长的计算 dp[i][j]Math.min(Math.min(dp[i-1][j],dp[i][j-1]), dp[i-1][j-1])1; maxSumMath.max(maxSum, dp[i][j]); } } } return maxSum*maxSum; } }
day115(3.17)——leetcode面试经典150
221. 最大正方形221. 最大正方形题目题解class Solution { public int maximalSquare(char[][] matrix) { int n matrix.length; int m matrix[0].length; if(matrixnull||n1||m1) { return 0; } int[][] dp new int[n1][m1]; int maxSum0; for(int i1;in;i) { for(int j1;jm;j) { if(matrix[i-1][j-1]1) { //这个操作使得如果左边上边左上边全是1的时候才会计入边长加一 //否则边长依旧是最小的这就说明该点不会参与最短边长的计算 dp[i][j]Math.min(Math.min(dp[i-1][j],dp[i][j-1]), dp[i-1][j-1])1; maxSumMath.max(maxSum, dp[i][j]); } } } return maxSum*maxSum; } }