链接:LeetCode 84. Largest Rectangle in Histogram(直方图最大矩形)
class Solution {
public:
int largestRectangleArea(vector<int>& heights) {
int len=heights.size();
if(len==0) return 0;
stack<int> indexS;
int maxVal=0;
heights.push_back(0);
len++;
for(int i=0;i<len;++i){
while(!indexS.empty()&&heights[i]<=heights[indexS.top()]){
int cur=indexS.top();
indexS.pop();
maxVal=max(maxVal,heights[cur]*(indexS.empty()?i:(i-indexS.top()-1)));
}
indexS.push(i);
}
return maxVal;
}
};