Maximal Rectangle

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

Example

Input:
[
  ["1","0","1","0","0"],
  ["1","0","1","1","1"],
  ["1","1","1","1","1"],
  ["1","0","0","1","0"]
]
Output: 6

Note

之前题目的2D版本

对于test case:

降维,记录1D行的最大矩形大小

  ["1","0","1","0","0"] --> 0
  ["2","0","2","1","1"] --> 3*1
  ["3","1","3","2","2"] --> 3*2
  ["4","1","3","3","2"] --> 5*1

多开一个空间来使最末端能pop:int[] height = new int[n + 1]

Code

Last updated