From 8df8584cb0a98e906785b67b532da7223ac093a3 Mon Sep 17 00:00:00 2001 From: user54778 Date: Mon, 16 Jan 2023 12:03:02 -0500 Subject: [PATCH] dp bottom up lc 221 maximal square java --- java/0221-maximal-square.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 java/0221-maximal-square.java diff --git a/java/0221-maximal-square.java b/java/0221-maximal-square.java new file mode 100644 index 000000000..9056610c5 --- /dev/null +++ b/java/0221-maximal-square.java @@ -0,0 +1,17 @@ +class Solution { + // dp bottom up + public int maximalSquare(char[][] matrix) { + int[][] dp = new int[matrix.length + 1][matrix[0].length + 1]; + int maxLen = 0; + for (int row = matrix.length - 1; row >= 0; row--) { + for (int col = matrix[0].length - 1; col >= 0; col--) { + if (matrix[row][col] == '1') { + dp[row][col] = 1 + Math.min(Math.min(dp[row + 1][col], dp[row][col + 1]), dp[row + 1][col + 1]); + maxLen = Math.max(maxLen, dp[row][col]); + } + } + } + + return maxLen * maxLen; + } +} \ No newline at end of file