Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.
For example, given the following matrix:
1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0Return 6.
这道题有好多方法,DP法,直方图法。由于我急着做算法作业,所以就只理解并写了DP法,至于其他方法,等有空再慢慢看。先把链接放这哈:https://leetcode.com/problems/maximal-rectangle/description/
使用了三个数组,left[], right[], height[],注意它们的长度都是 n,也就是列的长度。
height
代表 当前点往上连续的 1 的个数(要加上当前的1). 而 left
& right