We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 311166b commit 224b7ddCopy full SHA for 224b7dd
solution/1139.Largest 1-Bordered Square/Solution.java
@@ -0,0 +1,25 @@
1
+class Solution {
2
+ public int largest1BorderedSquare(int[][] grid) {
3
+ int m = grid.length, n = grid[0].length;
4
+ int[][] down = new int[m][n];
5
+ int[][] right = new int[m][n];
6
+ for (int i = m - 1; i >= 0; --i) {
7
+ for (int j = n - 1; j >= 0; --j) {
8
+ if (grid[i][j] == 1) {
9
+ down[i][j] += i + 1 < m ? down[i + 1][j] + 1 : 1;
10
+ right[i][j] += j + 1 < n ? right[i][j + 1] + 1 : 1;
11
+ }
12
13
14
+ for (int len = Math.min(m, n); len > 0; --len) {
15
+ for (int i = 0; i <= m - len; ++i) {
16
+ for (int j = 0; j <= n - len; ++j) {
17
+ if (down[i][j] >= len && right[i][j] >= len && right[i + len - 1][j] >= len && down[i][j + len - 1] >= len) {
18
+ return len * len;
19
20
21
22
23
+ return 0;
24
25
+}
0 commit comments