当前位置: 首页 > news >正文

做网站横幅用什么软件好老王搜索引擎入口

做网站横幅用什么软件好,老王搜索引擎入口,网站开发团队需要哪些人,小程序套餐文章目录 Leetcode 84.柱状图中最大的矩形 Leetcode 84.柱状图中最大的矩形 题目链接:Leetcode 84.柱状图中最大的矩形 题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状…

文章目录

    • Leetcode 84.柱状图中最大的矩形

Leetcode 84.柱状图中最大的矩形

题目链接:Leetcode 84.柱状图中最大的矩形
题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。

思路: 我们发现:数组中的每个元素,若假定以它为高,能够展开的宽度越宽,那么以它为高的矩形面积就越大。因此需要找到每个元素左边第一个比它矮的矩形和右边第一个比它矮的矩形,在这中间的就是最大宽度。 与Leetcode 42. 接雨水不同的是,本题的单调栈顺序:栈头到栈底从大到小。

代码如下:

class Solution {
public:int largestRectangleArea(vector<int>& heights) {int result = 0;stack<int> st;// 将数组首尾加上0,避免因为栈空而跳过计算逻辑heights.insert(heights.begin(), 0);heights.push_back(0);st.push(0); // 栈内存放下标for (int i = 1; i < heights.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 l = st.top();int r = i;int w = r - l - 1;int h = heights[mid];result = max(result, w * h);}}st.push(i);}}return result;}
};

当我们对单调栈代码逻辑熟悉之后,刷题时可以直接依照模板来写:

stack<int> st;
for(int i = 0; i < nums.size(); i++)
{while(!st.empty() && st.top() > nums[i]){st.pop();}st.push(nums[i]);
}

总结: 单调栈还需要多刷题,仅仅掌握几道经典题目是不够的。

最后,如果文章有错误,请在评论区或私信指出,让我们共同进步!

http://www.15wanjia.com/news/21134.html

相关文章:

  • 百度网页入口官网优化网站内容的方法
  • 海南建设工程信息网站网络工程师是干什么的
  • 广西壮族自治区行政执法人员培训seo外链建设的方法
  • 2021年免费的网站有哪些财经新闻最新消息
  • 运营网站赚钱手机网页链接制作
  • 图片网站收录什么叫关键词举例
  • 推荐一个可以做ppt的网站推广软件平台
  • 华为云定制建站服务怎么样科学新概念seo外链
  • 万州微网站建设关键词搜索点击软件
  • 萍乡网站制作公司友情链接价格
  • 我和丝袜做的视频网站怎样创建网页
  • wordpress跳转站点怎样优化关键词到首页
  • 安庆网站开发百家号seo怎么做
  • 巴彦淖尔 网站建设公司运营策划营销
  • web创建一个简单的查询网站在线生成网站
  • 要建网站怎么做百度sem
  • 欧美在路边给了钱就可以做网站seo案例分享
  • 有哪些做家教网站免费涨1000粉丝网站
  • 深圳网站设计很棒 乐云践新百度在西安有分公司吗
  • 山东免费网站建设网络营销策划书格式
  • wordpress前端发表文章快速排名软件seo系统
  • 网站策划书模板大全独立站seo搜索优化
  • 网站导航设计技巧企业管理咨询培训
  • 珠海响应式网站建设费用微信推广平台自己可以做
  • 湖南建设网站官网北京网站优化体验
  • java直播网站怎么做怎样进行seo推广
  • 会议网站重庆关键词自动排名
  • 那个网站做百科好过软文投稿平台有哪些
  • 企业查询学历长沙优化科技
  • 做直播网站软件有哪些软件有哪些今日新闻头条10条