1.轉換成直方圖的做法:
參考:利用leetcode84中的方法來做
首先要將給定的01矩陣轉換成84中的直方圖的樣子。
每一行都對應乙個直方圖,且下一行直方圖是由上一行直方圖計算得到的。
如果是0,則當前直方圖高為0,如果是1,則當前直方圖高度是上一層對應位置高度+1
**沒看[
["1"
,"0"
,"1"
,"0"
,"0"],
[1,0
,1,0
,0]//每一行都是乙個直方圖,值代表該位置的高度
["1"
,"0"
,"1"
,"1"
,"1"],
[2,0
,2,1
,1][
"1",
"1",
"1",
"1",
"1"],[
3,1,
3,2,
2]["1"
,"0"
,"0"
,"1"
,"0"][
4,0,
0,3,
0]]比如第4行為底,則每一列的高度分別為4,0,0,3,0.可以看成高度分別為4,0,0,3,0的直方圖
2.動態規劃方法:沒看
LeetCode 85 最大矩形
給定乙個僅包含 0 和 1 的二維二進位制矩陣,找出只包含 1 的最大矩形,並返回其面積。示例 輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 6此題和上一題的擴充套件,此題給的二維矩陣的每一行向上都形成了乙個直方圖,所以二維矩陣有多少行,就有多少個直方圖...
LeetCode 85 最大矩形
給定乙個僅包含 0 和 1 的二維二進位制矩陣,找出只包含 1 的最大矩形,並返回其面積。示例 輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 6這一題的演算法本質上和84題largest rectangle in histogram一樣,對每一列都求出每...
LeetCode 85 最大矩形
先統計一下每乙個塊上面的連續長度,然後列舉一行的連續子段,求面積。如果高有0的,break,因為後續也是0.class solution else int min h int max for int k j k 0 k return ans 使用單調棧,統計了每塊上面的連續長度,就轉換成,對於乙個快...