leecode 85 最大矩形 hard

2022-09-09 09:51:13 字數 998 閱讀 3179

給定乙個僅包含 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

示例 3:

輸入:matrix = [["0"]]

輸出:0

示例 4:

輸入:matrix = [["1"]]

輸出:1

示例 5:

輸入:matrix = [["0","0"]]

輸出:0

rows == matrix.length

cols == matrix[0].length

0 <= row, cols <= 200

matrix[i][j] 為 '0' 或 '1'

暴力解法的思路參考

public int maximalrectangle(char matrix)}}

return maxarea;

}

解題思路

public int compute(int arr,int row)

stack.push(i);

}return ans;

}public int maximalrectangle(char matrix)

for(int i=1;i

}int max= 0;

for(int i=0;i

return max;

}

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...