2024每日刷题(170)
Leetcode—84. 柱状图中最大的矩形
单调栈实现代码
class Solution {
public:
int largestRectangleArea(vector<int>& heights) {
stack<int> st;
int ans = 0;
for(int i = 0; i <= heights.size(); i++) {
while(!st.empty() && (i == heights.size() || heights[st.top()] > heights[i])) {
const int h = heights[st.top()];
st.pop();
const int w = st.empty()? i: i - st.top() - 1;
ans = max(ans, h * w);
}
st.push(i);
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!