221. Maximal Square

    技术2022-07-11  73

    public int maximalSquare(char[][] matrix) { if (matrix == null || matrix.length == 0 || matrix[0].length == 0) return 0; int rows = matrix.length; int cols = matrix[0].length; int[][] dp = new int[rows][cols]; int max = 0; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (matrix[i][j] == '1') { dp[i][j] = 1; max = 1; } } } for (int i = 1; i < rows; i++) { for (int j = 1; j < cols; j++) { if (matrix[i][j] == '1') { dp[i][j] = Math.min(Math.min(dp[i-1][j-1], dp[i-1][j]), dp[i][j-1]) + 1; max = Math.max(max, dp[i][j]); } } } return max * max; }
    Processed: 0.011, SQL: 9