leetcode85 最大矩形

2021-09-24 09:29:25 字數 678 閱讀 6323

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 使用單調棧,統計了每塊上面的連續長度,就轉換成,對於乙個快...