当前位置: 首页 > 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/249234.html

相关文章:

  • 凡科怎么建设网站河北网站seo外包
  • 西宁做网站的网络公司如何创建自己的网站平台
  • 做网站建设有前途那找培训班一般在什么平台
  • 中国建设银行网站成都第七支行营销型网站的分类不包含
  • 网站备案 代理百度资源平台链接提交
  • 自建站电商外贸市场推广怎么写
  • 英文网站制作 官网关键词搜索查询
  • 建设网站容易吗网站模板哪家好
  • 在网站上做支付功能 需要什么数据分析培训课程
  • 网站建站方案说明书推广关键词优化公司
  • 有什么字体设计网站什么公司适合做seo优化
  • 个人做哪方面网站seo网站优化培训要多少钱
  • 网站优化软件排名技术百度网站排名优化软件
  • 济南网站建设 联系小七网站seo优化教程
  • 建网站做日租房网上怎么找客户资源
  • 网站开发公司 上深圳网络推广的公司
  • 网站如何做词友情链接交换网站
  • 做财税的网站有哪些精品成品网站源码
  • 咨询聊城做网站市场推广方案怎么写
  • 二级域名 电子商务网站推广方案seo网页优化平台
  • 广州wap网站制作百度手机助手网页版
  • 怎么做网站维护seo服务指什么意思
  • 武汉市有做网站的吗微网站
  • 黄冈贴吧免费seo网站优化
  • 广州做网站2345网址导航官方网站
  • wordpress文章中带轮播图seo短视频网页入口引流网站
  • 哪里有做网站的百度sem竞价推广电子书
  • 军事最新新闻播报东莞百度seo哪里强
  • 什么插件可以做网站访问量统计新网站应该怎么做seo
  • 常州做网站代理商最近一周新闻热点回顾