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

做彩妆发哪个网站浏览量高成都网站建设方案服务

做彩妆发哪个网站浏览量高,成都网站建设方案服务,域名格式,网站建设公司不挣钱的原因84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 class Solution:def largestRectangleArea(self, heights: List[int]) -> …

84. 柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

class Solution:def largestRectangleArea(self, heights: List[int]) -> int:# 可以肯定的是,最终的那个图形,肯定是包含某个矩形的上边的# 所以我们只要找出每个矩形的,以他自己为上边的大矩形的最大面积即可# 这个最大面积就是左边比他小的  右边比他小的两个节点决定的# 先找左边的indexstack = []lenarr = len(heights)left = []right = []for i in range(lenarr):while stack and stack[-1][0]>=heights[i]:stack.pop()if stack:left.append(stack[-1])else:left.append((-1,-1))stack.append((heights[i],i))stack = []heights = heights[::-1]for i in range(lenarr):while stack and stack[-1][0]>=heights[i]:stack.pop()if stack:right.append(stack[-1])else:right.append((-1,lenarr))stack.append((heights[i],lenarr - i-1))# print(left,right[::-1])right = right[::-1]heights = heights[::-1]maxsize = 0res = []for i in range(lenarr):res.append((right[i][1] - left[i][1]-1)*heights[i])if maxsize < (right[i][1] - left[i][1]-1)*heights[i]:maxsize = (right[i][1] - left[i][1]-1)*heights[i]# print(res)return maxsize

简单来说就是找到左边的距离他最近的最小的值,右边的距离他最小的值,然后计算当前矩形作为上边的最大矩形面积。

用到了单调栈的模板

http://www.dtcms.com/wzjs/316130.html

相关文章:

  • wordpress登录微信插件下载海洋seo
  • 杭州做网站seo百度云盘登录入口
  • 网页设计在大学属于什么专业seo点击排名工具有用吗
  • 重庆金融公司网站建设中国seo谁最厉害
  • 石家庄住房和城乡建设局网站网络营销的五大优势
  • web网站开发工作经验互联网创业项目
  • 找网站有中文字目的免费私人网站建设软件
  • 郑州做网站好的公司百度竞价排名背后的伦理问题
  • app开发人员网站北京网站优化步骤
  • 做销售网站公司做网站推广
  • 购物网站的页面设计sem推广是什么意思呢
  • 网站开发相关期刊广告网络推广
  • 软路由系统如何做网站高级搜索百度
  • 河北住房与城乡建设部网站企业快速建站
  • 驻马店标准网站建设全网关键词指数查询
  • 东莞专业网站建设平台seo排名推广工具
  • 富阳区建设局网站首页海南网站制作公司
  • 领地网建的网站百度自然搜索排名优化
  • 淄博网站建设费用报个电脑培训班要多少钱
  • 外贸营销网站网络搜索优化
  • 网站百度不到验证码怎么办啊互联网线上推广
  • 做试玩网站b2b平台免费推广网站
  • 顺义做网站个人网站设计毕业论文
  • 甘孜州住房城乡建设局网站推广员是干什么的
  • 广州品牌seo网站推广谷歌排名优化入门教程
  • 第一网站ppt模板网站优化网络推广seo
  • 封面设计网站互联网营销培训班
  • web网站开发标题字体加粗谷歌网站优化推广
  • 安康免费做网站推广app平台
  • 设计一个网站开发方案百度识图扫一扫