85 最大矩形

2021-10-09 16:29:55 字數 649 閱讀 8744

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

思路一:橫看成嶺側成峰,橫著看,可以採用字首和,每次以當前點為矩形的右下角。 

int maximalrectangle(vector>& matrix) }}

} return maxarea;

}

思路二:豎著看,是不是類似於求柱狀圖的最大面積 84

int getmaxarea(vector&sumcol)

else

}return maxarea;

}int maximalrectangle(vector>& matrix)

else

}for(int j=0;j}

}return maxarea;

}

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 方法 按層分割法 思路 按層生成從頭部開始,生成每一層的柱狀圖,然後求得改層的所能達到的最大面積,直到遍歷完...

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 使用柱狀圖 棧 defmaximalrectangle matrix if not matrix retur...

85 最大矩形

高度更新的過程 邊界的更新 這種方法和常規的動態規劃有差別,沒有常規的dp矩陣定義。但是在行向下變化的時候,也是利用之前的狀態。class solution object def update self,i,j,dp length dp i j 0 height dp i j 1 area 0 fo...