本文主要是介绍算法训练营第63天|LeetCode 84.柱状图中最大的矩形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
完结!撒花!
LeetCode 84.柱状图中最大的矩形
题目链接:
LeetCode 84.柱状图中最大的矩形
代码:
class Solution {
public:int largestRectangleArea(vector<int>& heights) {heights.insert(heights.begin(),0);heights.push_back(0);int size = heights.size();stack<int>st;int result = 0;st.push(0);for(int i=1;i<size;i++){if(heights[i]>=heights[st.top()]) 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();int w = right - left - 1;result = max(result, w*heights[mid]);}}st.push(i);}}return result;}
};
这篇关于算法训练营第63天|LeetCode 84.柱状图中最大的矩形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!