[Leetcode][python]Largest Rectangle in Histogram
来源:互联网 发布:常用的数据分析模型 编辑:程序博客网 时间:2024/06/03 16:58
题目大意
给定一个柱状图,求它能包含的最大的矩形的面积。如下图中阴影部分就是要求的矩形。
解题思路
栈,难题。
看了半天两个解法,只有下图最容易理解:
http://www.cnblogs.com/zuoyuan/p/3783993.html
https://shenjie1993.gitbooks.io/leetcode-python/084%20Largest%20Rectangle%20in%20Histogram.html
但是实现起来还有不少细节,脑子不行,下次再仔细看
代码
class Solution(object): def largestRectangleArea(self, heights): """ :type heights: List[int] :rtype: int """ stack=[] i=0 area=0 while i<len(heights): if stack==[] or heights[i]>heights[stack[len(stack)-1]]: # 递增直接入栈 stack.append(i) else: # 不递增开始弹栈 curr=stack.pop() if stack == []: width = i else: width = i-stack[len(stack)-1]-1 area=max(area,width*heights[curr]) i-=1 i+=1 while stack != []: curr = stack.pop() if stack == []: width = i else: width = len(heights)-stack[len(stack)-1]-1 area = max(area,width*heights[curr]) return area
总结
stack.pop()输出弹出的值
阅读全文
0 0
- [Leetcode][python]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
- [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
- 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
- javascript之贪吃蛇案例
- 词嵌入2017年进展全面梳理:趋势和未来方向
- 数据结构学习笔记(二) 链表之单链表的基本操作
- XML解析SAX与DOM
- JAVA发送邮件
- [Leetcode][python]Largest Rectangle in Histogram
- 「安卓干货铺」节后送书福利-感谢大家一直以来对我的支持!
- fastdfs-nginx-module_v1.16.tar.gz 下载
- 整数的大数加减
- 算法分析与设计week07--435. Non-overlapping Intervals
- 递归实现pow内建函数和欧几里德算法
- 171022系统虚拟机管理2
- GalaxyOJ-947 (三分)
- 进程间通讯--信号量