class Solution:
def maximalSquare(self, A):
"""
:type A: List[List[str]]
:rtype: int
"""
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: # 第0行第0列不操作,为初始值
# 状态转移方程
A[i][j] = min(A[i-1][j], A[i-1][j-1], A[i][j-1]) + 1
return len(A) and max(map(max, A)) ** 2