Advertisement

在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)

还没有任何评论哟~