題目鏈結
【題解】
首先 我們處理出來乙個陣列 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一樣,對每一列都求出每...