84.柱狀圖中最大的矩形
題目鏈接:. - 力扣(LeetCode)
文檔講解:代碼隨想錄
視頻講解:單調棧,又一次經典來襲! LeetCode:84.柱狀圖中最大的矩形_嗶哩嗶哩_bilibili
狀態:未通過
代碼實現:?
class Solution {
public:int largestRectangleArea(vector<int>& heights) {int result = 0;heights.insert(heights.begin(), 0);heights.push_back(0);stack<int> st;st.push(0);for(int i = 1; i < heights.size(); i++){if(heights[i] > heights[st.top()]) st.push(i);else if(heights[i] == heights[st.top()]){st.pop();st.push(i);}else{while(!st.empty() && heights[i] < heights[st.top()]){int mid = st.top();st.pop();if(!st.empty()){int right = i;int left = st.top();result = max(result, heights[mid] * (right - left - 1));}}st.push(i);}}return result;}
};