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.lengthn == matrix[i].length1 <= m, n <= 300matrix[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