leetcode 84. Largest Rectangle in Histogram
Posted zhangwj0101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 84. Largest Rectangle in Histogram相关的知识,希望对你有一定的参考价值。
Question
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 heights = [2,1,5,6,2,3],
return 10.
Code
public int largestRectangleArea(int[] height)
if (height == null || height.length == 0)
return 0;
Stack<Integer> stack = new Stack<Integer>();
int max = 0;
for (int i = 0; i <= height.length; i++)
int curt = (i == height.length) ? -1 : height[i];
while (!stack.isEmpty() && curt <= height[stack.peek()])
int h = height[stack.pop()];
int w = stack.isEmpty() ? i : i - stack.peek() - 1;
max = Math.max(max, h * w);
stack.push(i);
return max;
以上是关于leetcode 84. Largest Rectangle in Histogram的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 84. Largest Rectangle in Histogram
Leetcode 84: Largest Rectangle in Histogram
LeetCode-84-Largest Rectangle in Histogram
leetcode 84 Largest Rectangle in Histogram ----- java