[LeetCode] largest Rectangle In Histogram
2016-08-04 11:34
453 查看
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.
思路:假设第n个柱形高度即为最大直方图的高,左右两个指针,分别代表直方图的最左侧位置和最右侧位置。那么,最大面积 area= (right-left+1)*h
package leetcode.largestRectangleInHistogram; public class LargestRectangleHistogram { public static void main(String[] args) { int[] heights={2,1,5,6,2,3}; int max=0; for(int i=0;i<heights.length;i++){ int left=i; int right=i; while(--left>=0){ if (heights[left]<heights[i]) { break; } } while(++right<heights.length){ if (heights[right]<heights[i]) { break; } } int area=(--right-++left+1)* heights[i]; max=area>max?area:max; System.out.println(max); } } }
相关文章推荐
- [LeetCode] Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram 解题报告
- LeetCode —— Largest Rectangle in Histogram
- LeetCode: Largest Rectangle in Histogram(直方图最大面积)
- LeetCode-Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- leetcode-084:Largest Rectangle in Histogram
- LeetCode 笔记系列 17 Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram、Maximal Rectangle
- [leetcode]Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram
- LeetCode: Largest Rectangle in Histogram
- [leetcode] Largest Rectangle in Histogram
- [leetcode]Largest Rectangle in Histogram
- LeetCode: Largest Rectangle in Histogram(直方图最大面积)
- leetcode之Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram
- leetcode - Largest Rectangle in Histogram
- leetcode -- Largest Rectangle in Histogram TODO O(N)
- LeetCode Online Judge 题目C# 练习 - Largest Rectangle in Histogram