在Python中解决直方图最大矩形面积的问题:给定n个非负整数表示高度
发布时间
阅读量:
阅读量
直方图矩形面积 示例:
已知n个非负整数用于表示直方图中各矩形柱体的高度,且每个矩形柱体的宽度均设定为1;现需确定该直方图中所能构成的最大矩形区域的面积。例如,当高度序列为2,1,5,6,2,3时,所对应的最大矩形面积为8。

import matplotlib.pyplot as plt
def get_area(li):
ul = [] # 保存最大面积的数据[[leftIndex,rightIndex,height,area]]
size = len(li)
for i in range(size):
curr = li[i]
# 找到和curr相邻且高度大于等于curr的位置
left = right = i
for j in range(left, -1, -1):
if li[j] >= curr:
left = j
else:
全部评论 (0)
还没有任何评论哟~
