当前位置: 首页 > 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.zqtcl.cn/news/641905/

相关文章:

  • 娄底手机网站制作深圳网站建设怎么做
  • 好的龙岗网站建设附近装修公司电话和地址
  • 网站后台生成文章很慢网络营销毕业设计
  • 如何把资料上传到网站什么叫高端网站定制
  • 郑州企业网站建设团队什么是交换链接
  • 如何建立一个外贸公司网站活动营销的方式有哪些
  • 上海工程造价咨询公司余姚网站seo运营
  • 小加工厂做网站wordpress免费主题破解版
  • 网站打开风险怎么解决企业建设网站网站建设公司
  • 随州网站建设公司wordpress怎样上传主题
  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写
  • 网站开发外包公司坑襄垣城乡建设管理局的网站
  • 网络公司怎么做网站常州新北区网站建设
  • 扬州专业外贸网站建设推广做详情页上什么网站找素材
  • 北京做网站设计招聘深圳市住房和建设局官网平台
  • 冻品网站建设网站头图设计
  • 手机网站分辨率做多大h5微网站建设多少钱
  • 网站制作软件下载公司怎么注册邮箱帐号