Largest Rectangle in Histogram
来源:互联网 发布:猪八戒淘宝直播 编辑:程序博客网 时间:2024/06/16 04:36
public class Solution { public int largestRectangleArea(int[] heights) { if (heights == null) { throw new IllegalArgumentException(""); } if (heights.length == 0) { return 0; } int maxArea = 0; Stack<Integer> stack = new Stack<>(); for (int i = 0; i < heights.length; i++) { if (stack.isEmpty()) { stack.push(i); } else { while (!stack.isEmpty() && heights[i] < heights[stack.peek()]) { //int last_height = stack.pop(); int last_height = heights[stack.pop()]; if (!stack.isEmpty()) { maxArea = Math.max(maxArea, (i - 1 - stack.peek())*last_height); } else { maxArea = Math.max(maxArea, i*last_height); } } stack.push(i); } } while (!stack.isEmpty()) { //int last_height = stack.pop(); int last_height = heights[stack.pop()]; if (!stack.isEmpty()) { maxArea = Math.max(maxArea, (heights.length - 1 - stack.peek())*last_height); } else { maxArea = Math.max(maxArea, heights.length*last_height); } } return maxArea; }}
0 0
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Largest Rectangle in Histogram
- Python中的for
- 字符串分割函数
- RxAndroid
- 利用DCMTK将DCM图像像素数据转换为Mat数据
- java如何退出所有递归
- Largest Rectangle in Histogram
- 解决eclipse building workspace慢的情况
- Eclipse中Maven工程缺少Maven Dependencies
- Netty的入门-UDP协议开发
- UIKIT详解之UILabel全面解析
- Win10+Caffe+CUDA7.5编译
- window.location.href和window.location.hash的区别
- 如何禁止(表单)用户名、密码自动填充
- C语言的标准