13. Maximal Rectangle

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

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 is shown in the above picture.
Example 2:
Input: matrix = []
Output: 0


Example 3:
Input: matrix = [["0"]]
Output: 0


Example 4:
Input: matrix = [["1"]]
Output: 1


Example 5:
Input: matrix = [["0","0"]]
Output: 0

Solution: (Using Stack)

Approach: Same as Largest Rectangle in a Histogram Problem Computing largest rectangle in each row

Time Complexity: O(n * m) Space Compexity: O(n + m)

Last updated

Was this helpful?