只需要列舉矩形的右下角,向斜上方擴散,找到最大的矩形,這樣的時間複雜度是o(n^4)。
那麼能否進一步優化呢,優化的思路其實是這樣列舉:
列舉乙個高度i,那麼最大矩形就等價於84題中,柱子可能的高度,然後就可以在o(n^2)的時間複雜度解決這個問題,當然這道題目確實難度較大。一般面試中很少會出現。
class solution
for(int i=n-1;i>=0;i--)
for(int i=0;i>& matrix)
}res = max(res,largestrectanglearea(f[i]));
}return res;}};
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一樣,對每一列都求出每...