84.柱状图中最大的矩形
class Solution {
public:
int largestRectangleArea(vector<int>& heights) {
stack<int> s;
s.push(-1);
s.push(0);
int space = 0;
for(int i=1; i<=heights.size(); i++){
while(s.top()!= -1 && (i==heights.size() || heights[i]<heights[s.top()])){
int h = heights[s.top()];
s.pop();
space = max(space, h*(i-s.top()-1));
}
s.push(i);
}
return space;
}
};
参考文章:代码随想录-84.柱状图中最大的矩形