loading

Maximal Square — Step-by-Step Visualization

mediumLeetCode #221ArrayDynamic ProgrammingMatrix

Find largest square containing only '1's in binary matrix. Return area.

Algorithm Pattern

2D DP (Square Size)

Key Idea

dp[i][j] = side length of max square ending at (i,j). The bottleneck of three neighbors determines expansion.

Step-by-Step Approach

  1. dp[i][j] = 0 if matrix[i][j]='0'
  2. dp[i][j] = 1 + min(top, left, top-left) if matrix[i][j]='1'
  3. Track maxSide, answer = maxSide²

Related Problems