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

南京百度网站排名h5移动网站开发

南京百度网站排名,h5移动网站开发,个人网站备案费用,中兴建设云南有限公司网站题目描述(力扣题库 84): 给定 n 个非负整数#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻#xff0c;且宽度为 1 。求在该柱状图中#xff0c;能够勾勒出来的矩形的最大面积。 解题思想: 单调栈: 利用先进后出的思想, 先算出长度更高的柱子所能勾勒… 题目描述(力扣题库 84): 给定 n 个非负整数用来表示柱状图中各个柱子的高度。每个柱子彼此相邻且宽度为 1 。求在该柱状图中能够勾勒出来的矩形的最大面积。    解题思想:  单调栈: 利用先进后出的思想, 先算出长度更高的柱子所能勾勒出的矩形的面积. 我们从左到右遍历给定的直方图数组, 与此同时, 使用一个单调递增的栈来存储直方图柱子的索引。这样栈顶元素对应的柱子高度始终是递增的。 当我们遇到一个柱子高度小于栈顶柱子高度时说明找到了一个可以计算矩形面积的位置。这是因为在单调递增栈中栈顶元素右侧第一个小于自身高度的柱子就是该柱子右边界。因此我们弹出栈顶元素计算以该柱子高度为矩形高度的最大矩形面积。矩形的宽度可以通过当前位置索引与栈顶元素索引之差来确定。 重复之前步骤直到栈为空或者当前柱子高度大于栈顶柱子高度。这个步骤保证了栈内的柱子高度始终是单调递增的且找到了所有可以计算矩形面积的位置。 其中最为关键的是, 得到柱子所能渲染的矩形的宽度 解题步骤:  1.初始化变量和数据结构 初始化一个整数变量 area 用于保存最大面积。初始化一个双端队列 stack 用于保存直方图中柱子的索引。 2.遍历直方图 使用 for 循环遍历直方图中的每个柱子。 3.维护单调递增栈 在循环中每次都会检查当前柱子的高度是否小于栈顶柱子的高度如果是则说明栈顶柱子的右边界可以确定可以计算以栈顶柱子为高度的最大矩形面积。在这个过程中不断地从栈中弹出柱子直到当前柱子的高度不小于栈顶柱子的高度或者栈为空。弹出柱子时计算以弹出柱子的高度为高度的矩形面积。计算面积的方法是通过弹出柱子的索引和当前柱子的索引来计算宽度即 width i - stack.peekLast() - 1。每次计算完矩形面积后更新 area 的值为当前面积和历史最大面积中的较大值。 4.处理剩余的柱子 遍历完成后如果栈中还有柱子说明这些柱子的右边界是整个直方图的末尾因此可以以这些柱子为高度计算最大矩形面积。这部分的处理与上面的过程类似。 5.返回最大面积 返回最大面积 area。 这个算法的关键思想是使用单调递增栈来找到每个柱子的左右边界从而计算以每个柱子为高度的最大矩形面积然后从中选出最大值。 以下是代码实现: class Solution {public int largestRectangleArea(int[] heights){if(heights.length 0) return 0;if(heights.length 1) return heights[0];int area 0;DequeInteger stack new ArrayDeque();for (int i 0; i heights.length; i) {while(!stack.isEmpty() heights[stack.peekLast()] heights[i]){int height heights[stack.removeLast()];int width;if(stack.isEmpty()) width i;else width i - stack.peekLast() - 1;area Math.max(area, height * width);}stack.addLast(i);}while(!stack.isEmpty()){int height heights[stack.removeLast()];int width;if(stack.isEmpty()) width heights.length;else width heights.length - stack.peekLast() - 1;area Math.max(area, height * width);}return area;} }
http://www.pierceye.com/news/641905/

相关文章:

  • 海淀地区网站建设苏州论坛
  • 电影项目做产品众筹哪个网站好网站设计评价标准
  • 上海要做网站怎么卖wordpress主题
  • 废旧建筑模板多少钱一吨seo站内优化培训
  • 您在工信部门备案网站获取的icp备案号plone wordpress
  • 网站怎么用PS做公司电脑做网站
  • 化妆品网站设计思路网站管理规范
  • 内部优惠券网站建站马鞍山网站建设电话
  • 手机可以做3d动漫视频网站广告联盟平台
  • 做了静态网站怎么显示在互联网上度假村网站模板
  • 网站改版提交河北建设工程信息网官
  • 建站宝盒v8破解版下载菜鸟怎么做网站
  • 网站建设课程 考核目的wordpress注册确认信
  • 建设银行网站公告2022国内外重大新闻事件10条
  • 门户网站建设 简报电子工程信息建设网
  • 竞价网站模板网站模板小偷
  • 怎么做视频网站网站建设设计基础
  • 惠州网站建设公司曾做网站需要学习什么知识
  • 网站制作里面链接怎么做建网站要什么工做人员
  • 网站建设费用 会计分录网站用哪些系统做的好
  • 免费建立一个个人网站网站模板怎么引用
  • 网站推广软文公司wordpress里面备份功能在哪里
  • 贵州整站优化seo平台网站建设与开发英文文献
  • 江干区住房和城乡建设局网站北京网站开发的趋势在哪里
  • 无锡网站建设选千客云网络简单网站建设推荐
  • 设计网站推荐百度贴吧带搜索的下拉框网站
  • 长春站最新发布网站开发税费
  • 北京通州住房和城乡建设部网站网站开发运营服务合同
  • 建设网站的服务端口国外用python做的网站
  • 如何实现网站生成网页手机端网站建设的注意事项