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

免费app下载网站网站的功能与建设方案

免费app下载网站,网站的功能与建设方案,品牌设计公司品牌设计公司排名,泰安房产信息网官网首页LeetCode-84. 柱状图中最大的矩形【栈 数组 单调栈】 题目描述#xff1a;解题思路一#xff1a;单调栈解题思路二#xff1a;解题思路三#xff1a; 题目描述#xff1a; 给定 n 个非负整数#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻#xff0c;且… LeetCode-84. 柱状图中最大的矩形【栈 数组 单调栈】 题目描述解题思路一单调栈解题思路二解题思路三 题目描述 给定 n 个非负整数用来表示柱状图中各个柱子的高度。每个柱子彼此相邻且宽度为 1 。 求在该柱状图中能够勾勒出来的矩形的最大面积。 示例 1: 输入heights [2,1,5,6,2,3] 输出10 解释最大的矩形为图中红色区域面积为 10 示例 2 输入 heights [2,4] 输出 4 提示 1 heights.length 105 0 heights[i] 104 解题思路一单调栈 柱状图前后加0维护一个从栈底到栈顶的单调增栈。【栈顶大于前一个元素】那么获取到 主要就是分析清楚如下三种情况 情况一当前遍历的元素heights[i]大于栈顶元素heights[st.top()]的情况【进栈】 情况二当前遍历的元素heights[i]等于栈顶元素heights[st.top()]的情况【可忽略】 情况三当前遍历的元素heights[i]小于栈顶元素heights[st.top()]的情况【计算当前ans(i - stack[-1] - 1) * heights[stack[-1]】 我在 height数组上后都加了一个元素0 为什么这么做呢 首先来说末尾为什么要加元素0 如果数组本身就是升序的例如[2,4,6,8]那么入栈之后 都是单调递减一直都没有走 情况三 计算结果的哪一步所以最后输出的就是0了。 如图 那么结尾加一个0就会让栈里的所有元素走到情况三的逻辑。 开头为什么要加元素0 如果数组本身是降序的例如 [8,6,4,2]在 8 入栈后6 开始与8 进行比较此时我们得到 mid8rigt6但是得不到 left。 mid、leftright 都是对应版本一里的逻辑 因为 将 8 弹出之后栈里没有元素了那么为了避免空栈取值直接跳过了计算结果的逻辑。 之后又将6 加入栈此时8已经弹出了然后 就是 4 与 栈口元素 8 进行比较周而复始那么计算的最后结果resutl就是0。 如图所示 class Solution:def largestRectangleArea(self, heights: List[int]) - int:heights.insert(0, 0)heights.append(0)stack [0]result 0for i in range(1, len(heights)):if heights[i] heights[stack[-1]]:stack.append(i)elif heights[i] heights[stack[-1]]:stack.pop()stack.append(i)else:while stack and heights[i] heights[stack[-1]]:mid_index stack[-1]stack.pop()if stack:w i - stack[-1] - 1result max(result, w * heights[mid_index])stack.append(i)return result时间复杂度O(n) 空间复杂度O(n) 解题思路二 时间复杂度O(n) 空间复杂度O(n) 解题思路三 时间复杂度O(n) 空间复杂度O(n)
http://www.pierceye.com/news/125254/

相关文章:

  • 好看的网站页面WordPress知更鸟主题怎样安装
  • 如何查网站是否备案免费建网站代码
  • 曲沃网站开发新注册的公司怎么做网站
  • 企业网站无线端怎么做塑胶科技东莞网站建设
  • 图片发到哪些网站 seo阜沙网站建设
  • 企业开源建站系统大连百度首页优化
  • 通辽做网站有没有智慧软文发稿平台
  • 网站别人做的我自己怎么续费福州网站建站公司
  • 青岛高端网站开发wordpress修改logo地址
  • 做网站实名认证有什么用青岛网站建设运营
  • 大数据分析网站做汽车保养的网站上
  • 网站开发费用一般是多少怎么建设宣传网站
  • 做网站的背景怎么做ps免费模板网站
  • 为什么要建设应急管理网站sketch做网站
  • 做的网站在百度上搜不出来的宁波关键词优化平台
  • 哪里有手机网站建设公司有道网站收录提交入口
  • 赣州网站建设较好的公司贵州网站建设hsyunso
  • 网站建设和管理是教什么科目鹤壁网站建设鹤壁
  • 网站域名和邮箱域名解析国外网站国内做二维码
  • 万万州州微微网站网站建建设设福州建设网站效果图
  • 长安网站建设详细教程鸿科经纬教网店运营推广
  • 微信营销模式有seo短视频网页入口引流推广
  • 做商城网站简单吗长春网站建设服务
  • 工厂弄个网站做外贸如何app开发报价公司
  • 网销网站建设流程如何创建网站挣钱
  • 韶关网站制作手机推广app
  • Linux做视频网站网速均衡网页编辑实践报告
  • 做ppt好的模板下载网站如何查看网站空间商
  • 武义公司网站建设公司如何建设网站首页
  • hdwiki做网站罗湖网站建设联系电话