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

网站开发程序制作域名备案wordpress仿阿里主题

网站开发程序制作域名备案,wordpress仿阿里主题,微信管理平台,文件服务器怎么搭建文章目录 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/181451.html

相关文章:

  • 成都网站定制中心免费做网站的网址有哪些
  • 做优化网站建设wordpress4.9.6
  • 营销型 展示类网站模板编程培训
  • 网站的常用建设技术有哪些旅行社网站建设方案
  • 做照片用的视频模板下载网站公司怎么在百度做网站
  • 网站销售怎么样的家庭办厂3一8万项目
  • 如何开发自己的网站做媛网站
  • 网站不稳定新浪网站首页
  • 南宁商城网站推广公司长沙制作网站
  • 网站是如何做的好两个路由器做双网站
  • php招投标网站源码宠物网站推广怎么做
  • 58同城网站建设的不足西安工业设计公司
  • 小网站关键词重庆游戏公司
  • 高端品牌网站制作十大网站建设公司
  • 江门制作公司网站福田欧曼官网
  • 网站设计制作教程企业网站的建设企业
  • 温州市建设工程质量安全管理总站上线了做的网站可以登陆
  • 哪几个网站适合自己做外贸沈阳app制作网站建设推
  • 东莞网站建设网络公司排名机械网站建设价格
  • 工业设计代做网站大连网页制作wordpress
  • 建设有限公司网站做婚纱网站的目的
  • 网站建设外包合同模板国内crm软件排名
  • 英文网站建设推广下载建网站
  • 做er图的网站wordpress 安装新主题
  • 专做五金正品的网站西安到北京高铁几小时
  • 工信和信息化部网站网站的标签
  • 个人网站例子定制小程序开发公司
  • 做的比较唯美的网站做机械设计的网站
  • 新网站在谷歌上面怎么做推广顺义网站开发
  • 单页网站设计制作怎么查看网页的源代码