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

自适应网站建设沈阳百度网页游戏大厅

自适应网站建设沈阳,百度网页游戏大厅,怎麽用dw做网站轮播海报,深圳画册设计印刷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/302602.html

相关文章:

  • 恩做网站动态页面好百度搜索软件
  • 做网站平台公司有哪些郑州seo排名公司
  • 公司做网站可以永久买断吗培训机构怎么找
  • 律师事务所网站建设网络营销推广方式案例
  • 百度首页网址是多少站长工具seo综合查询分析
  • 烟台网站优化公司怎么做网络宣传推广
  • 网站备案归属地我要推广
  • 加强网络平台建设谷歌搜索引擎优化
  • 微信浏览为网站的缓存怎么清理谷歌关键词
  • 网站建设公司 校园网站b2b网站大全免费
  • 济南专业做公司网站的机构新闻报道最新消息今天
  • 政府网站模板seo网络优化推广
  • 网站建设背景是什么网站关键词全国各地的排名情况
  • 做JSP网站买什么书网络销售好做吗
  • 做智能网站软件seo外包公司专家
  • 网站建设和网页设计东莞网站优化公司哪家好
  • 网站托管团队东莞推广公司
  • 互联在线app开发网站网站搭建教程
  • 杭州 做网站哪个平台可以免费打广告
  • 自己做的网站给人攻击了怎么办线上推广有哪些平台效果好
  • php做网站子页模板免费建站平台
  • 个人网站 不备案上海优化seo公司
  • 商城网站制作衡阳seo优化
  • 邮箱登陆登录入口佛山企业用seo策略
  • 有没有悬赏做ppt的网站seo这个行业怎么样
  • 找人做网站服务器不是自己的怎么办环球军事网
  • 用vuejs做的网站厦门网站seo
  • 石家庄网站建设需要多少钱百度智能云
  • 网站运营情况怎么写郑州seo优化大师
  • 网站的论文怎么写服务营销论文