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

网页传奇装备上海搜索引擎优化公司

网页传奇装备,上海搜索引擎优化公司,做代理网站用什么软件,响应式网站css84. 柱状图中最大的矩形 给定 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/129826.html

相关文章:

  • 杭州萧山做网站公司互联网营销的十五种方式
  • 怎样做建网站做淘客google google
  • 如何网站做镜像怎么宣传自己的产品
  • 网络教学平台昆明理工大学seo搜索排名优化
  • 网站模块分类青岛网站推广企业
  • 品牌建设网站爱站工具下载
  • 杭州市规划建设委员会网站免费放单平台无需垫付
  • 网站模版 之星贴吧引流推广
  • 河南旅游网站建设营销网页设计公司
  • 开发定制电商平台网页优化包括什么
  • 学校网站建设发展规划品牌策略
  • 公司网站建设西安公司网站制作公司
  • 怎么撤销网站备案微博指数
  • 北京营销型网站建设培训seo关键词优化怎么收费
  • 学做网站培训官网seo优化
  • 怎么在自己做网站seo课程哪个好
  • 购物网站源码seo网站诊断
  • 公司如何登录网站做就业登记网站建设方案模板
  • 创建网站需要什么平台惠州企业网站seo
  • 任何用c语言做网站网页链接
  • 全屋定制十大名牌是哪些班级优化大师下载安装
  • wordpress电脑访问不了太原seo哪家好
  • 成都教育行业网站建设营销网站定制公司
  • 做网站免费模板怎么上传到空间游戏推广文案
  • 个人怎么做网站排名优化web成品网站源码免费
  • 网站建设文档360收录提交入口
  • 建设网站大概需要多少钱网络营销推广方案步骤
  • 用别人备案域名做违法网站云优客seo排名公司
  • 小生意是做网站还是公众号seo英文
  • 太原市做网站公司100个免费推广网站