当前位置: 首页> 汽车> 车展 > 电商网站报价_企业品牌宣传_app渠道推广_seo单页快速排名

电商网站报价_企业品牌宣传_app渠道推广_seo单页快速排名

时间:2025/7/29 23:14:06来源:https://blog.csdn.net/qq_45964225/article/details/146158587 浏览次数: 2次
电商网站报价_企业品牌宣传_app渠道推广_seo单页快速排名

思路和时间复杂度

  1. 思路:利用单调栈找到比当前元素小的第一个元素,此时在栈中的元素顺序从栈头到栈底是递降的,然后栈顶元素的下一个元素,就是比当前元素小的前一个元素,这样计算以当前元素(栈顶)作为高的矩形有多大即可。
  2. 时间复杂度: O(n)      

代码

class Solution {
public:int largestRectangleArea(vector<int>& heights) {heights.insert(heights.begin(), 0);heights.push_back(0);stack<int> st;st.push(0);int res = 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{// 栈口元素找到右侧第一个比栈口元素小的iwhile(!st.empty() && heights[i] < heights[st.top()]){int mid = st.top();st.pop();if(!st.empty()){int left = st.top();res = max(res, heights[mid] * (i - left - 1));}}st.push(i);}}return res;}
};

关键字:电商网站报价_企业品牌宣传_app渠道推广_seo单页快速排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: