LeetCode 85 最大矩形 第二遍

2021-10-02 18:08:06 字數 537 閱讀 6759

題目鏈結

【題解】

首先 我們處理出來乙個陣列 a[i][j].

這個陣列的含義是,矩陣中(i,j)包括自身往上有多少個連續的1.

然後我們枚舉行i.

表示我們現在要考察的矩陣的下邊在第i行。

然後我們再處理出來乙個一維陣列heights[j]

其中heights[j] = a[i][j]

然後,問題就轉化為在乙個柱狀圖裡面求乙個最大的矩形了。用這個方法

做就行了。

枚舉行o(n)的複雜度,柱狀圖求最大的矩陣也是o(n)的複雜度

因此這道題的時間複雜度為o(n^2)

【**】

class solution else a[i][j] = matrix[i][j]-'0';

//cout<0 && heights[sta[top]]>heights[j])

sta[++top] = j;}}

while (top>0)

}return ma;

}};

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此題和上一題的擴充套件,此題給的二維矩陣的每一行向上都形成了乙個直方圖,所以二維矩陣有多少行,就有多少個直方圖...

leetcode85 最大矩形

1.轉換成直方圖的做法 參考 利用leetcode84中的方法來做 首先要將給定的01矩陣轉換成84中的直方圖的樣子。每一行都對應乙個直方圖,且下一行直方圖是由上一行直方圖計算得到的。如果是0,則當前直方圖高為0,如果是1,則當前直方圖高度是上一層對應位置高度 1 1 0 1 0 0 1,0 1,0...

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一樣,對每一列都求出每...