Maximal Rectangle

IF
AlgoAxiomStaff Engineers
JSTS
Hard20 mins

Given a 2D binary matrix filled with '0's and '1's, find the largest rectangle containing only 1's and return its area.

Examples

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: 6

Explanation: The maximal rectangle of all 1's has an area of 6, formed by the submatrix spanning rows 1-2 and columns 2-4.

Example 2:

Input: matrix = [["0"]]

Output: 0

Explanation: The matrix contains only a single '0', so no rectangle of 1's exists.

Example 3:

Input: matrix = [["1"]]

Output: 1

Explanation: The matrix contains a single '1', forming a 1x1 rectangle.

Constraints

  • rows == matrix.length
  • cols == matrix[i].length
  • 1 <= rows, cols <= 200
  • matrix[i][j] is '0' or '1'
Source: Monotonic Stack pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle