首页 > TAG信息列表 > LeetCode84

LeetCode84 柱状图中的最大矩形

题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 输入: heights = [2,4] 输出: 4 提示: 1 <= hei

【单调栈】leetcode84.柱状图中最大的矩形

题目: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 解答: 方法一:双指针法,使用left,right两个指针分别统计:当前柱子左侧/右侧 第一个低于当前柱子的高度,超时 时间复杂度:O(n^2) 空间复杂度

leetcode84.柱状图中最大的矩形

题目: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 思路: 方法1,暴力法,会超时的,思路就是遍历整个数组

leetcode84柱状图中最大的矩形

思路: 使用单调递增栈,横向的长度是找到当前柱子左边第一个比它小的,和右边第一个比它小的,长度是两个小柱子的中间位置 (1)如果新元素比栈顶元素大就入栈 (2)如果新元素比较小,就将栈内的元素一直弹出,直至栈顶比新元素小每次遇到比栈顶小的元素时才更新,那么为了计算最后一个数字,将