leetcode做题总结,题目Largest Rectangle in Histogram 2012/04/22
2014-10-04 12:48
363 查看
这道题用的是堆栈,一开始想到解法了,但是写的实在是太混乱导致代码,于是搜了个非常简洁的方法,仅作记录。同时把i长数组变成i+1长的方法是new array=Arrays.copyof(old array, length),新的也可以比旧的短用于截取。
public int largestRectangleArea(int[] height) { Stack<Integer> stack = new Stack<Integer>(); int i = 0; int maxArea = 0; int[] h = new int[height.length + 1]; h = Arrays.copyOf(height, height.length + 1); while(i < h.length){ if(stack.isEmpty() || h[stack.peek()] <= h[i]){ stack.push(i++); }else { int t = stack.pop(); maxArea = Math.max(maxArea, h[t] * (stack.isEmpty() ? i : i - stack.peek() - 1)); } } return maxArea; }
相关文章推荐
- LeetCode-84-Largest Rectangle in Histogram 经典题目,单调栈
- LeetCode Online Judge 题目C# 练习 - 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] Largest Rectangle in Histogram——惊天动地的代码@
- LeetCode: Largest Rectangle in Histogram
- [LeetCode]Largest Rectangle in Histogram
- leetcode -- Largest Rectangle in Histogram TODO O(N)
- 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, a naive solution
- LeetCode: Largest Rectangle in Histogram(直方图最大面积)