Largest Rectangle in Histogram--LeetCode
来源:互联网 发布:c语言开发系统 编辑:程序博客网 时间:2024/05/19 02:25
1.题目
Largest Rectangle in Histogram
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.
2.题意
在直方图中找到最大矩形的区域
3.分析
借助栈保存递增序列,找出局部最大值
若当前值小于栈顶值时,取出栈顶元素,计算当前矩形面积
继续比较当前值和新的栈顶值,若还是栈顶值大,则再取出栈顶元素,计算新的矩形面积
依次类推,得到最大矩形
4.代码
class Solution {public: int largestRectangleArea(vector<int>& heights) { int res = 0; stack<int> s; heights.push_back(0); for(int i = 0; i < heights.size(); ++i) { while(!s.empty() && heights[i] <= heights[s.top()]) { int cur = s.top(); s.pop(); if(s.empty()) res = max(res, heights[cur] * i); else res = max(res, heights[cur] * (i - s.top() - 1)); } s.push(i); } return res; }};
阅读全文
0 0
- LeetCode: Largest Rectangle in Histogram
- LeetCode Largest Rectangle in Histogram
- LeetCode: Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram
- [leetcode] Largest Rectangle in Histogram
- [LeetCode]Largest Rectangle in Histogram
- Leetcode: Largest Rectangle in Histogram
- [leetcode]Largest Rectangle in Histogram
- Leetcode:Largest Rectangle in Histogram
- LeetCode-Largest Rectangle in Histogram
- LeetCode Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- leetcode Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- leetcode Largest Rectangle in Histogram
- <Leetcode>Largest Rectangle in Histogram
- scikit-learn安装
- Node.js 写入文件
- 程序执行过程的内存分析图
- Ubuntu下载工具uGet+aira2
- 前端性能优化黄金法则
- Largest Rectangle in Histogram--LeetCode
- 构建MFS+Keepalived双机高可用热备方案`
- “但问耕耘,莫问收获”才有机会“碰运气”——新书《成功与运气:好运和精英社会的神话》解读
- 购物车
- JUnit使用的简单介绍
- 使用SublimeTest3来编辑Markdown文档
- GreenDao官方文档翻译(三)之模型化实体-Schema & Annotations
- linux下的7种文件类型
- Druid Spring Boot Starter