maximal-square¶
Try it on leetcode
Description¶
Given an m x n
binary matrix
filled with 0
's and 1
's, find the largest square containing only 1
's and return its area.
Example 1:

Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]] Output: 4
Example 2:

Input: matrix = [["0","1"],["1","0"]] Output: 1
Example 3:
Input: matrix = [["0"]] Output: 0
Constraints:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 300
matrix[i][j]
is'0'
or'1'
.
Solution(Python)¶
class Solution:
def maximalSquare(self, A):
maxSol = 0
for i in range(len(A)):
for j in range(len(A[i])):
A[i][j] = int(A[i][j])
if A[i][j] and i and j:
A[i][j] = min(A[i - 1][j], A[i - 1]
[j - 1], A[i][j - 1]) + 1
if maxSol < A[i][j]:
maxSol = A[i][j]
return maxSol * maxSol