Problem · Array

Maximal Square

Learn this problem
MediumAirwallex logoAirwallexFULLTIMEPHONE SCREEN

Problem statement

Given an m x n binary matrix containing the characters '0' and '1', return the area of the largest square whose cells are all '1'.

Function

maximalSquare(matrix: char[][]) → int

Examples

Example 1

matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]return = 4

The largest all-one square has side length 2, so its area is 4.

Example 2

matrix = [["0","1"],["1","0"]]return = 1

Each '1' cell forms a square of side length 1, and no larger all-one square exists.

Example 3

matrix = [["0"]]return = 0

The matrix contains no '1' cell, so the maximum area is 0.

Constraints

  • 1 <= m, n <= 300.
  • m == matrix.length and n == matrix[i].length.
  • Every matrix[i][j] is either '0' or '1'.

More Airwallex problems

drafts saved locally
public int maximalSquare(char[][] matrix) {
    // Write your code here.
}
matrix[["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
expected4
checking account