0085:最大矩形(★★)
目录
题目
给定一个仅包含 0
和 1
、大小为 rows x cols
的二维二进制矩阵,找出只包含 1
的最大矩形,并返回其面积。
示例 1:
输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]] 输出:6 解释:最大矩形如上图所示。
示例 2:
输入:matrix = [["0"]] 输出:0
示例 3:
输入:matrix = [["1"]] 输出:1
提示:
rows == matrix.length
cols == matrix[0].length
1 <= row, cols <= 200
matrix[i][j]
为'0'
或'1'
相似问题:
分析
- 固定矩形的底在第 i 行,求出每列的高度 H[i][j],即转为问题 0084
- 注意 H[i][j] 可以由 H[i-1][j] 递推得到,故总的时间复杂度 $O(M*N)$
解答
|
|
71 ms