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

医院网站如何建立商城网站建设精英

医院网站如何建立,商城网站建设精英,淘宝详情页做的比较好的网站,老年大学网站开发84. 柱状图中最大的矩形 正文 题目如下 给定 n 个非负整数#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻#xff0c;且宽度为 1 。 求在该柱状图中#xff0c;能够勾勒出来的矩形的最大面积。 这道题暴力很简单#xff0c;但是时间复杂度是O(N^2)#xf…84. 柱状图中最大的矩形 正文 题目如下 给定 n 个非负整数用来表示柱状图中各个柱子的高度。每个柱子彼此相邻且宽度为 1 。 求在该柱状图中能够勾勒出来的矩形的最大面积。 这道题暴力很简单但是时间复杂度是O(N^2)在这里我们不予考虑我在这里主要介绍一下单调栈的做法。 单调栈主要的思路就是将遍历到的元素下标压入栈中如果当前遍历的元素小于栈顶元素就没有遵循单调的原则需要先把栈中大于当前遍历到的数字的元素弹出再把当前遍历的元素压入栈中在这个过程中我们还需要重新计算最大的矩形面积。 如何计算 首先我们需要明确我们的栈是存储的下标通过下标的差值我们可以计算出宽度而且栈中元素是保持着单调递增的趋势所以我们每次弹出的下标对应的数值都可以作为我们的矩形的高这样便可以计算出我们的矩形面积。 为什么这样做能得出正确答案 首先我们需要先了解一下暴力的做法暴力是通过两个for循环遍历来实现的矩形的面积最大值计算而单调栈是只在每次弹出元素的时候重新计算矩形面积每个元素最多入栈出栈一次所以时间复杂度远小于暴力做法。但我们仔细想一下就能够知道暴力做法是有很多多余的计算步骤的比如以[1,2,3,4,5,6,1]为例子遍历1的时候会把234561遍历完显然效率很低而单调栈在弹出元素时能够确定以当前下标对应的矩形的高的最大面积是多少想清楚这一点这道题就迎刃而解了。 下面是代码 func largestRectangleArea(heights []int) int {var st []intans : 0heights append(heights, -1)for i : 0; i len(heights); i {for len(st) ! 0 heights[i] heights[st[len(st) - 1]] {idx : st[len(st) - 1]st st[:len(st) - 1]var l intif len(st) 0 {l -1} else {l st[len(st) - 1]}ans Max(ans, (i - l - 1) * heights[idx])}st append(st, i)}return ans}func Max(a int, b int) int {if a b {return a}return b}结语 这道题思路来源于bilibili如果觉得不清晰可以看看这个视频。
http://www.hkea.cn/news/14375326/

相关文章:

  • 公司网站标题优化免费网络爬虫网站
  • 网站开发的语言有什么做网站难吗 挣钱吗
  • 三部曲网站建设做网站怎么看效果
  • 网站开发的销售网站建设资金投入分析
  • php一个企业网站多钱怎么做打赏看视频的网站
  • 手机网站建站用哪个软件好互联网域名注册查询
  • 网站建设与管理作业西安 做网站
  • 做网站分前台后端吗wordpress 代码位置
  • 做网站网页需要学些什么wordpress文章链接怎么改
  • 淘宝网站建设策划书wordpress 替代
  • 如何上传图片到网站最简单的软件开发工具
  • 白银区住房和城乡建设局网站建网站的公司起什么名好
  • 网站建设产品手册网站百度网盘
  • 建材在哪些网站做企业网站站内优化
  • 优酷视频放到网站上怎么做网站建设的类型有几种
  • 温州网站建设方案报价wordpress 年份索引
  • 安徽网站建设信息深圳品牌设计公司的发展
  • 模板网站与定制网站的优缺点教育类网站素材
  • 企业备案 网站名称网站主页图片怎么换
  • 重庆微信网站建设国内免费crm
  • 宁波网站建设免费咨询合肥做网站便宜mdyun
  • 网站asp精品成品源码网站
  • 龙岩公司网站建设wordpress优酷插件
  • 网站图片设置链接网站建设一般多少钱app
  • 高端科研网站设计网页设计与制作课程思政
  • 哪个网站可以做试卷网站虚拟空间购买
  • 旅游网站框架网站开发环境的安装说明
  • 网站漂浮广告批量网站建设
  • 旅游建设投资公司中网站济南网站建设(选聚搜网络)
  • o2o网站建设代理商网站建设的阶段