[leetcode] Largest Rectangle in Histogram
来源:互联网 发布:热血江湖辅助源码 编辑:程序博客网 时间:2024/05/29 07:08
Largest Rectangle in Histogram
class Solution {public: int largestRectangleArea(vector<int> &height) { stack<int> stk; height.push_back(0); int res=0; for(int i=0;i<height.size();){ if(stk.empty()||height[i]>height[stk.top()]){ stk.push(i++); }else{ int tmp=stk.top(); stk.pop(); res=max(res,height[tmp]*(stk.empty()?i:(i-stk.top()-1))); } } return res; }};
class Solution {//时间复杂度O(n)public: int largestRectangleArea(vector<int>& height) { int n=height.size(); int res=0; stack<int> stk; for(int i=0;i<n;++i){ while((!stk.empty())&&(height[stk.top()]>=height[i])){// //出栈 int h=height[stk.top()]; stk.pop(); //计算面积:如果栈空,最左侧为-1 res=max(res,(i-1-(stk.empty()?(-1):stk.top()))*h); } stk.push(i);//下标i入栈 } while(!stk.empty()){ int h=height[stk.top()]; stk.pop(); res=max(res,(n-1-(stk.empty()?(-1):stk.top()))*h); } 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
- servletcontext与application的联系
- 【OJ】2014广东省ACM热身赛题目
- Thrift源码分析(二)-- 协议和编解码
- 元表概念
- 关于用strace工具定位vrrpd进程有时会挂死的bug
- [leetcode] Largest Rectangle in Histogram
- ListView具有多种item布局——实现微信对话列 .
- Eclipse快捷键 10个最有用的快捷键
- 游戏登陆机制
- C#操作XML之读取XML
- 安卓字体
- 临时表
- 多个Loadrunner联合测试
- oracle存储过程 语法 函数 总结