柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

function largestRectangleArea(heights) {
    let getMinHeight = (start,end) => {
        let arr = heights.slice(start,end+1)
        return Math.min(...arr)
    }
    let max = heights.length ? Math.max(...heights) : 0,i,j;
    for(i = 0;i < heights.length-1;i++){
        let item = heights[i]
        for(j = i + 1;j < heights.length;j++){
            let jItem = heights[j]
            let width = j - i + 1,height = getMinHeight(i,j);
            if(max < width * height){
                max = width * height
            }
        }
    }
    return max
}

提交未通过,测试用例数据 [0,1,2,3,...,19999]

posted @ 2020-07-21 17:46  671_MrSix  阅读(150)  评论(0编辑  收藏  举报