Largest Rectangle in Histogram
来源:互联网 发布:网络群组信息管理规定 编辑:程序博客网 时间:2024/06/05 23:59
-----QUESTION-----
Given
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
For example,
Given height = [2,1,5,6,2,3]
,
return 10
.
-----SOLUTION-----
class Solution {public: int largestRectangleArea(vector<int> &height) { int* l = new int [height.size()]; int* r = new int [height.size()]; l[0]=0; for( int i =1; i <height.size(); i++) { if(height[i]==0) { l[i] = 0; continue; } int j = i-1; for(; j >= 0; j--){ if(height[i] <= height[j]) j = l[j]; //用动态规划求l[i]否则会Time Limit Exceeded if(height[i] > height[j]) break; } l[i] = (j==i-1)?i:j+1; } r[height.size()-1]=height.size()-1; for(int i =height.size()-2; i >=0; i--){ if(height[i]==0) { r[i] = 0; continue; } int j = i+1; for(; j <height.size(); j++){ if(height[i] <= height[j]) j = r[j]; //动态规划 if(height[i] > height[j]) break; } r[i] = (j==i+1)?i:j-1; } int area; int largestArea = 0; for(int i = 0; i< height.size(); i++) { area = (r[i]-l[i]+1) * height[i]; if(area>largestArea) largestArea = area; } return largestArea; }};
0 0
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Android 中自定义权限
- 程序员的生活
- ABAddressBookRequestAccessWithCompletion线程安全
- hdu1272并查集
- 复习--Ultra-QuickSort(归并排序求逆序数)
- Largest Rectangle in Histogram
- Windows power shell 运行方式汇总
- 关于IOS回调的个人看法
- Spring3 MVC 学习笔记
- 日期、时间控件的使用
- 来来回回又到这里
- poj2112 Optimal Milking --- 最大流,二分
- R语言学习(1)-将R作为科学计算器使用
- 流程图的常用句型结构整理