Maximal Square

Medium

Topics
ArrayDynamic ProgrammingMatrix

Given an m x n binary grid filled with 0s and 1s, find the largest square containing only 1s and return its area.

On this judge the grid is given as integers rather than characters.

Example 1

Input:  grid = [[1,0,1,0,0],[1,0,1,1,1],[1,1,1,1,1],[1,0,0,1,0]]
Output: 4
Explanation: The largest all-ones square has side 2, so the area is 4.

Example 2

Input:  grid = [[0,1],[1,0]]
Output: 1

Example 3

Input:  grid = [[0]]
Output: 0

Constraints

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 300
  • grid[i][j] is 0 or 1
Run ⌘' · Submit ⌘⏎