LeetCode OJ 之 Largest Rectangle in Histogram (直方图中的最大矩形)
2015-02-05 10:29
393 查看
题目:
Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.给n个非负数代表直方图每个长条的高度,每个长条的宽度是1,找出直方图中最大的矩形。
Above is a histogram where width of each bar is 1, given height =
[2,1,5,6,2,3].
The largest rectangle is shown in the shaded area, which has area =
10unit.
For example,
Given height =
[2,1,5,6,2,3],
return
10.
思路:
参考:http://blog.csdn.net/doc_sgl/article/details/11805519 。代码:
class Solution {public:
int largestRectangleArea(vector<int> &height)
{
stack<int> stk;
height.push_back(0);
int maxArea = 0;
for(int i = 0 ; i < height.size() ; )
{
if(stk.empty() || height[i] > height[stk.top()])
{
stk.push(i);
i++;
}
else
{
int tmp = stk.top();
stk.pop();
maxArea = max(maxArea , height[tmp] * (stk.empty() ? i : (i - stk.top() - 1)));//Largest Rectangle in Histogram ???
}
}
return maxArea;
}
};
相关文章推荐
- LeetCode | Largest Rectangle in Histogram(直方图围城的最大矩形面积)
- 直方图最大矩形问题(Largest Rectangle in Histogram)
- 直方图最大矩形问题(Largest Rectangle in Histogram)
- 84 Largest Rectangle in Histogram(直方图中最大的矩形)
- [Leetcode] largest rectangle in histogram 直方图中最大的矩形
- LeetCode-Largest Rectangle in Histogram-直方图上的最大矩形-基于栈的滑动最值
- [LeetCode] Largest Rectangle in Histogram 直方图中最大的矩形
- 寻找直方图中的最大矩形 Largest Rectangle in Histogram
- Largest Rectangle in Histogram求直方图中最大的矩形
- [LeetCode]—Largest Rectangle in Histogram 求直方图最大填充矩形面积
- [Leetcode] largest rectangle in histogram 直方图中最大的矩形
- LeetCode_直方图最大面积(Largest Rectangle in Histogram)
- leetcode之Largest Rectangle in Histogram、Maximal Rectanglex;待字闺中之最大矩形分析
- Largest Rectangle in Histogram (直方图中最大面积) 【leetcode】
- LeetCode: Largest Rectangle in Histogram(直方图最大面积)
- Largest Rectangle in Histogram(在柱形图中画出最大矩形)
- poj 2559 Largest Rectangle in a Histogram 求面积最大的矩形(单调栈)
- HDU 1506 Largest Rectangle in a Histogram(最大矩形面积)
- hdu 1506 Largest Rectangle in a Histogram(求最大的矩形)
- Largest Rectangle in a Histogram(最大矩形面积,动态规划思想)