• + 0 comments

    def largestRectangle3(h):

    area = float("-inf")
    numOfBuildings = 0
    
    minHeight = float("inf")
    
    for i in range(len(h)):
        numOfBuildings += 1
        minHeight = min(minHeight, h[i])
    
        for j in range(i-1, -1,-1):
            if  h[j] >= minHeight:
                numOfBuildings += 1
            else:
                break     
    
        for j in range(i+1, len(h)):    
            if  h[j] >= minHeight:
                numOfBuildings += 1
            else:
                break
    
        area = max(area, (numOfBuildings * minHeight)) 
        numOfBuildings = 0
        minHeight = float("inf")       
    return area