【LeetCode】【HOT】84. 柱状图中最大的矩形

文章目录

  • 【LeetCode】【HOT】84. 柱状图中最大的矩形


package hot;import java.util.ArrayDeque;
import java.util.Deque;public class Solution84 {public static void main(String[] args) {int[] heights = {2,1,5,6,2,3};Solution84 solution = new Solution84();System.out.println(solution.method(heights));}private int method(int[] heights){int len = heights.length;if(len == 0) return 0;if(len == 1) return heights[0];int res = 0;int[] newHeights = new int[len + 2];newHeights[0] = 0;newHeights[len+1] = 0;System.arraycopy(heights, 0, newHeights, 1, len);len += 2;heights = newHeights;Deque<Integer> stack = new ArrayDeque<>(len);stack.addLast(0);for(int i = 1; i < len; i++){while(heights[i] < heights[stack.peekLast()]){int curHeight = heights[stack.pollLast()];int curWidth = i - stack.peekLast() - 1;res = Math.max(res, curHeight * curWidth);}stack.addLast(i);}return res;}
}//时间复杂度为 O(n)
//空间复杂度为 O(n)

【LeetCode】【HOT】84. 柱状图中最大的矩形(栈)相关推荐

  1. c语言力扣l最大矩形,leetcode 84柱状图中最大的矩形,利用单调栈求解l

    利用单调了栈求解leetcode 84柱状图中最大的矩形 image image 利用单调递增栈的方式来实现,计算发生在每次弹出栈顶的操作过程中 单调递增栈的操作步骤 1.如果栈为空或者栈顶元素比入栈 ...

  2. 单调栈:leetcode 84. 柱状图中最大的矩形/85最大矩形

    84. 柱状图中最大的矩形 遍历数组,以每一个元素作为高,向左右两边拓展,遇到第一个比该元素小的位置停下 图片源自leetcode力扣 一.暴力解法(超时) 遍历数组,以每一个元素作为高,向左右两边拓 ...

  3. java 柱状图 宽度_Java实现 LeetCode 84 柱状图中最大得矩形

    84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个柱子的 ...

  4. 用python 求矩形最大面积_LeetCode 84. 柱状图中最大的矩形 | Python

    84. 柱状图中最大的矩形 题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个 ...

  5. 【第60天| 84.柱状图中最大的矩形】

    84.柱状图中最大的矩形 class Solution {public:int largestRectangleArea(vector<int>& heights) {stack& ...

  6. 84. 柱状图中最大的矩形

    84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 示例 1: 输入:heights ...

  7. LeetCode 84.柱状图中最大的矩形

    今天还是分享一道才刷过的题目, 柱状图中最大的矩形,这道题根上一篇我分享的接雨水类似,都是可以用双指针,动态规划(双指针加备忘录),单调栈来算 这道题的话三种方法都写了,双指针会超时,优化一下备忘录是 ...

  8. LeetCode 84. 柱状图中最大的矩形(单调递增栈)

    文章目录 1. 题目 2. 解题 1. 题目 题目链接 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是 ...

  9. leetcode 84. Largest Rectangle in Histogram | 84. 柱状图中最大的矩形(单调栈)

    题目 https://leetcode.com/problems/largest-rectangle-in-histogram/ 题解 一句话总结:遍历数组,对于每个height[i],以其自身的高度 ...

最新文章

  1. 计算点云之间的平均距离,方差,标准差
  2. 正确的「记事本」打开方式:能渲染3D图像,还能玩贪吃蛇
  3. FD_WRITE触发条件
  4. IIS6+asp.net 2.0+HTTP 错误 404 - 文件或目录未找到:您正在搜索的页面可能已经删除、更名或暂时不可用。...
  5. eclipse打包项目为aar_eclipse中将项目打包成jar的两种方法,及其问题与解决方法...
  6. 关于[[NSNotificationCenter defaultCenter] addObserver不remove后续又收到通知crash问题
  7. JavaScript 全局对象
  8. leetcode 42 接雨水 单调栈
  9. spring2.X(1)--新特性介绍
  10. @RunWith@ContextConfiguration进行Spring上下文测试报错
  11. springmvc跨域资料收集
  12. sql server2008导入文本文件
  13. matlab线性代数对角化,工程线性代数(MATLAB版) (2007年7月)
  14. 【网络传输协议】SRT即SecureReliableTransport流媒体网络传输协议
  15. Error response from daemon: failed to parse mydockerfile-centos: ENV must have two arguments
  16. 毕业设计——基于STM32的智能家具系统(语音识别控制、步进电机、舵机)
  17. 学python的网课_python网课学习笔记--4
  18. 域名.com是什么意思?和cn域名有什么区别?
  19. [转帖]《魔兽世界》的成功之道
  20. 【JAVA进阶篇】字符串的详细介绍

热门文章

  1. docker删除mongo数据库库_Docker 搭建MongoDB环境
  2. nginx ci index.php,CI在Nginx服务器上rewrite去掉index.php例子
  3. 需要c语言,需要C语言的需要什么工具软件
  4. jquery检测input变化_jquery 监控input输入框值得变化
  5. 当包装类的要与基本类型进行比较时候 需要先将包装类降级为基本类型
  6. ubuntu 虚拟机上的 django 服务,在外部Windows系统上无法访问
  7. Web API Filter ActionFilterAttribute 使用
  8. arguments.callee的临时指向特性
  9. __mmc_claim_host
  10. MediaPlayer控件的初探