`
hcx2013
  • 浏览: 88943 次
社区版块
存档分类
最新评论

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.

 

public class Solution {
    public int largestRectangleArea(int[] height) {
    	Stack<Integer> stack = new Stack<Integer>();
    	int i = 0;
    	int maxArea = 0;
    	int[] tmp = Arrays.copyOf(height, height.length+1);
    	while (i < tmp.length) {
    		if (stack.isEmpty() || tmp[stack.peek()] <= tmp[i]) {
    			stack.push(i++);
    		} else {
    			int t = stack.pop();
    			maxArea = Math.max(maxArea, tmp[t]*(stack.isEmpty() ? i: (i-stack.peek()-1)));
    		}
    	}
    	return maxArea;
    }
}

 

分享到:
评论

相关推荐

    LeetCode Largest Rectangle in Histogram

    在LeetCode这个著名的在线编程挑战平台上,有一道题目名为“Largest Rectangle in Histogram”(直译为“柱状图中的最大矩形”),这是一道与数据结构和算法密切相关的题目,旨在考察程序员对栈、动态规划以及几何...

    zhidd#ZXBlog#LintCode - 122. Largest Rectangle in Histogram(直方图最

    LintCode - 122. Largest Rectangle in Histogram(直方图最大矩形覆盖)(单调栈)题目链接题目解析主要是运用单调栈(单

    LargestRectangleInHistogram

    http://blog.csdn.net/two_water/article/details/53004027 LeetCode_直方图最大面积(Largest Rectangle in Histogram)

    python-leetcode题解之084-Largest-Rectangle-in-Histogram

    python python_leetcode题解之084_Largest_Rectangle_in_Histogram

    js-leetcode题解之84-largest-rectangle-in-histogram.js

    javascript js_leetcode题解之84-largest-rectangle-in-histogram.js

    c语言-leetcode题解之0084-largest-rectangle-in-histogram.zip

    c c语言_leetcode题解之0084_largest_rectangle_in_histogram.zip

    前端大厂最新面试题-stack.docx

    13.柱状图中最大的矩形(Largest Rectangle in Histogram):给定一个数组,找到柱状图中的最大矩形面积。难度:困难 队列(Queue)是一种先进先出(FIFO)的数据结构,常用于解决任务队列、缓冲区等问题。以下是...

    Coding Interview in Java

    11. 栈与单调栈问题:例如Valid Parentheses(有效的括号)、Largest Rectangle in Histogram(直方图中的最大矩形)等,考察候选人对于栈结构的掌握。 12. 字符串匹配问题:如Wildcard Matching(通配符匹配)、...

    LeetCode C++全解

    1. Introduction ... Largest Rectangle in Histogram ix. Maximal Rectangle x. Palindrome Number xi. Search a 2D Matrix xii. Search for a Range xiii. Search Insert Position xiv. Find Peak Element

    leetcode316-LeetCode:leetcode的解决方案

    Rectangle:单调栈(Histogram变形) Largest Rectangle in Histogram:单调栈 Island Perimeter:简单对比(map+zip的使用) or 遍历查找 Max Area of Island:DFS(本来想用DP,发现出不来) Number of Islands:DFS My ...

    Leetcode题目+解析+思路+答案.pdf

    - **Largest Rectangle in Histogram**:在直方图中找到最大的矩形面积。 - **Maximal Rectangle**:在二维矩阵中找到最大的矩形。 - **Palindrome Number**:判断一个数字是否是回文数。 - **Search a 2D ...

    3、动态规划必练题(含解法).pdf

    11. **Largest Rectangle in Histogram** (柱状图中最大的矩形) 求柱状图中能构成的最大矩形面积。可以使用栈来辅助实现,维护当前高度和最大高度。 12. **Maximal Rectangle** (最大的矩形) 在一个01矩阵中找到...

    LeetCode leetcode部分题解答代码实现

    * Largest Rectangle in Histogram:给定一个直方图,返回直方图中的最大矩形面积。这个题目需要使用栈的思想,将直方图中的每个矩形分解成更小的矩形,并找到最大矩形。 * Maximal Rectangle:给定一个矩形,返回...

    LeetCode练习答案

    - **直方图中的最大矩形(Largest Rectangle in Histogram)**: 给定直方图的高度,计算能够组成的矩形的最大面积。 - **最大矩形(Maximal Rectangle)**: 在由'0'和'1'组成的二维矩阵中,找到只包含'1'的最大矩形,并...

    LeetCode最全代码

    421 | [Maximum XOR of Two Numbers in an Array](https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/) | [C++](./C++/maximum-xor-of-two-numbers-in-an-array.cpp) [Python](./Python/...

    leetcode2-Misc-4:杂项4

    问题二:直方图中最大的矩形(Largest Rectangle in Histogram) 这是一个经典的几何问题,需要找到直方图(一种特殊形式的柱状图)中可以构成的最大矩形面积。解决这个问题通常采用栈作为辅助数据结构。遍历每个...

    leetcode卡-Array-LeetCode-Solution:数组-LeetCode-解决方案

    如"最宽的水平条"(Largest Rectangle in Histogram)。 5. **前缀和与后缀和**:通过计算数组的累积和,可以快速求解区间和问题。例如"连续子数组的最大和"(Maximum Subarray)。 6. **动态规划**:数组问题常与...

    LeetCodemaxarea-largest-rectangle-in-a-histogram:直方图中最大的矩形

    力扣最大面积直方图中最大的矩形 给定 n 个非负整数表示直方图的条形高度,其中每个条形的宽度为 1,求直方图中最大矩形的面积。 上面是一个直方图,其中每个条的宽度为 1,给定高度 = [2,1,5,6,2,3]。...

    股票买卖最佳时机leetcode-Java-Projects:Java项目和面试问题的存储库,用于编码面试的练习

    股票买卖最佳时机leetcode Java项目 这是 Java 项目的存储库。 它包含: 基于回溯的数独求解器。 许多编码面试问题的解决方案作为从InterviewBit 和Leetcode ...Largest_Rectangle_In_Histogram Least_C

Global site tag (gtag.js) - Google Analytics