Largest Rectangle in Histogram

原创 2015年07月08日 22:04:37

Largest Rectangle in Histogram


Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.


Above is a histogram where width of each bar is 1, given height = [2,1,5,6,2,3].


The largest rectangle is shown in the shaded area, which has area = 10 unit.

For example,
Given height = [2,1,5,6,2,3],
return 10.

Solution I


First solution comes to my mind is that For every rectangle, traverse all the rectangles before it and store current max area. If the height of current rectangle is less than or equals to next one, skip current rectangle to decrease time.


public class Solution {
    public int largestRectangleArea(int[] height) {
        if (height == null || height.length == 0)
            return 0;
            
        int max = 0;
        
        for (int i = 0; i < height.length; i++) {
            
            if (i + 1 < height.length && height[i] <= height[i + 1])
                continue;
                
            int min = height[i];
            
            for (int j = i; j >= 0; j--) {
                min = Math.min(min, height[j]);
                int maxArea = min * (i - j + 1);
                
                if (maxArea > max) {
                    max = maxArea;
                }
                
            }
        }
        
        
        return max;
    }
}








相关文章推荐

LeetCode Largest Rectangle in Histogram

  • 2015年06月22日 23:25
  • 2.67MB
  • 下载

hdu 1506 Largest Rectangle in a Histogram(DP)

Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3276...
  • caduca
  • caduca
  • 2014年08月28日 23:31
  • 6959

[leetcode] 84. Largest Rectangle in Histogram

Given n non-negative integers representing the histogram's bar height where the width of each bar i...

HDU1506 Largest Rectangle in a Histogram (动规)

HDU1506 Largest Rectangle in a Histogram (动规) 对于每一块木板,Area=height[i]*(j-k+1) 其中,j...

HDU 1506 && POJ 2559 Largest Rectangle in a Histogram (单调队列)

题目链接:POJ 2559  Largest Rectangle in a Histogram  题目链接:HDU 1506  Largest Rectangle in a Histogram  题...

leetcode No84. Largest Rectangle in Histogram

Question: Given n non-negative integers representing the histogram's bar height where the width o...

84. Largest Rectangle in Histogram(dp)

题目: Given n non-negative integers representing the histogram's bar height where the width of ea...

【POJ2559】Largest Rectangle in a Histogram

Largest Rectangle in a Histogram Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: ...

[C++]LeetCode: 133 Largest Rectangle in Histogram(最大矩形面积)

题目: Given n non-negative integers representing the histogram's bar height where the width of each b...

Largest Rectangle in Histogram

-----QUESTION----- Given n non-negative integers representing the histogram's bar height where ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Largest Rectangle in Histogram
举报原因:
原因补充:

(最多只允许输入30个字)