Largest Rectangle in Histogram

/**
* @param height: A list of integer
* @return: The area of largest rectangle in the histogram
*/

public int largestRectangleArea(int[] height) {
int max = 0;
if (height == null || height.length < 1) {
return max;
}
Stack<Integer> stack = new Stack<>();
int i = 0;
int[] newHeight = new int[height.length + 1];
for (int j = 0; j< height.length; j++) {
newHeight[j] = height[j];
}
newHeight[height.length] = 0;
while (i < newHeight.length) {
// if (i == height.length) {
//     int t = stack.pop();
//     max = Math.max(max, height[t] * (stack.isEmpty() ? i : i - stack.peek() - 1));
//     break;
// }

if (stack.isEmpty() || newHeight[stack.peek()] < newHeight[i]) {
stack.push(i);
i++;
} else {
int t = stack.pop();
max = Math.max(max, newHeight[t] * (stack.isEmpty() ? i : i - stack.peek() - 1));
}
}

return max;
}

// public int largestRectangleArea(int[] height) {
//     int max = 0;
//     //2 if (height == null || height.length < 2) {
//     if (height == null || height.length < 1) {
//         return max;
//     }
//     for (int i = 0; i < height.length; i++) {
//         int h = height[i];
//         for (int j = i; j < height.length; j++) {
//             //1 if (height[i] > height[j]) {
//             if (h > height[j]) {
//                 h = height[j];
//             }
//             int width = j - i + 1;
//             max = Math.max(max, width*h);
//         }
//     }
//     return max;
// }

LeetCode84 Largest Rectangle in Histogram java题解

2015-06-27 11:21:16

HDU 1506(Largest Rectangle in a Histogram)动态规划

2015-08-10 15:24:37

LeetCode 84 Largest Rectangle in Histogram (Python详解及实现)

2017-08-09 15:34:40

LeetCode --- 84. Largest Rectangle in Histogram

2015-04-03 17:07:41

leetcode_question_85 Largest Rectangle in Histogram

2013-09-18 14:00:28

POJ-2559-Largest Rectangle in a Histogram-单调栈

2015-08-25 22:37:11

LeetCode Largest Rectangle in Histogram （单调栈）

2015-04-11 21:37:03

LeetCode（84） Largest Rectangle in Histogram

2015-12-21 15:34:05

hdu - 1506 - Largest Rectangle in a Histogram（dp / 单调栈）

2014-11-01 08:46:21

POJ 2559 Largest Rectangle in a Histogram -- 动态规划

2014-03-06 09:25:29