Leetcode 84 Largest Rectangle in Histogram
来源:互联网 发布:科润软件科技有限公司 编辑:程序博客网 时间:2024/04/30 12:52
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.
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 = 10
unit.
For example,
Given heights = [2,1,5,6,2,3]
,
return 10
.
一开始是把它当作DP求解的,即求最大子矩阵,复杂度n方,发现速度不是很快。
然后有了下面的想法,维护一个严格单调递增的数组和一个记录前缀长度的数组,扫描heights,
每次扫到的高度大于或等于数组的最后一个元素,则需要计算之前的结果,并将最后一个元素剔除,反复这个过程。
直到扫到的高度小于数组的最后一个元素,这是将此高度插入。
class Solution {public: int largestRectangleArea(vector<int>& heights) { if(heights.size()==0) return 0; vector<int> x(1,-2),y(1,1); heights.push_back(-1); int result=0; for(int i=0;i<heights.size();i++) { int temp=1; while(x[x.size()-1]>=heights[i]) { result=max(result,x[x.size()-1]*(y[x.size()-1]+temp-1)); temp+=y[x.size()-1]; x.pop_back(); y.pop_back(); } x.push_back(heights[i]); y.push_back(temp); } return result; }};
1 0
- [leetcode 84] Largest Rectangle in Histogram
- 【LeetCode】[84] Largest Rectangle in Histogram
- leetcode || 84、Largest Rectangle in Histogram
- LeetCode---(84)Largest Rectangle in Histogram
- 【Leetcode】Largest Rectangle in Histogram #84
- leetcode 84 :Largest Rectangle in Histogram
- leetcode 84: Largest Rectangle in Histogram
- [leetcode-84]Largest Rectangle in Histogram(c++)
- LeetCode(84) Largest Rectangle in Histogram
- leetcode 84 Largest Rectangle in Histogram
- LeetCode 84 Largest Rectangle in Histogram
- leetcode 84 Largest Rectangle in Histogram
- Leetcode 84 Largest Rectangle in Histogram
- LeetCode No.84 Largest Rectangle in Histogram
- LeetCode 84 Largest Rectangle in Histogram
- leetcode 84 Largest Rectangle in Histogram
- [Leetcode] #84 Largest Rectangle in Histogram
- LeetCode: Largest Rectangle in Histogram
- 删除核心显卡右键菜单
- HDU 1242
- 初识Dalvik虚拟机
- java 大小端转换
- Regsvr32命令修复系统故障
- Leetcode 84 Largest Rectangle in Histogram
- 解析 ViewTreeObserver 源码,体会观察者模式、Android消息传递(下)
- 各大公司笔试题
- DAO/Servlet/Service/Bean综合使用小例子
- View的绘制过程
- backbone 入门(1)前端mvc
- git--clone知识库到本地
- CVPR 2016-9-23
- CMOS密码的清除方法