柱状图中最大的矩形

发布时间:2024年01月07日

题目描述:

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

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

示例 1:

输入:heights = [2,1,5,6,2,3]
输出:10
解释:最大的矩形为图中红色区域,面积为 10

示例 2:

输入: heights = [2,4]
输出: 4

解题方法:

1、暴力解法:

固定位置,两遍for(能通过90%)

class Solution {
    public int largestRectangleArea(int[] heights) {
        int maxarg = 0;
        for(int i = 0;i<heights.length;i++){
            int minH = Integer.MAX_VALUE;
            for(int j = i;j<heights.length;j++){
                minH = Math.min(minH,heights[j]);
                maxarg = Math.max(maxarg,(j-i+1)*minH);
            }
        }
        return maxarg;
    }
}

文章来源:https://blog.csdn.net/weixin_65408862/article/details/135428291
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。