[LeetCode] 84. Largest Rectangle in Histogram

LeetCode刷题:84. Largest Rectangle in Histogram LeetCode刷题:84. Largest Rectangle in Histogram 原题链接:https://leetcode.com/problems/largest-rectangle-in-histogram/ Givennnon-negative integers representing the histogram's bar height where the width... 阅读详情

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.
在这里插入图片描述
Example:

Input: [2,1,5,6,2,3]
Output: 10

解法1

在每个局部峰值的时候往前遍历所有的可能的矩阵大小,找到最大的。
局部峰值的意思就是当前值比下一个值大,比如例子中的2,6,3。

class Solution {
public:
    int largestRectangleArea(vector<int>& heights) {
        int len = heights.size();
        if (len == 0)
            return 0;
        int max_value = 0;
        for(int i=0;i<len;i++){
            if(i==len-1 || heights[i]>heights[i+1]){
                int min_value = INT_MAX;
                for(int j=i;j>=0;j--){
                    min_value = min(min_value, heights[j]);
                    max_value = max(max_value, min_value*(i-j+1));
                }
            }
        }
        return max_value;
    }
};

解法2:单调栈

维护一个单调递增的栈,保存单调递增的高度的下标,便于计算间隔。
在heights的末尾加上一个0,便于处理最后一个高度值。

class Solution {
public:
    int largestRectangleArea(vector<int>& heights) {
        int len = heights.size();
        if (len == 0)
            return 0;
        int max_value = 0;
        stack<int> index;
        heights.push_back(0);
        for(int i=0;i<=len;i++){
            if(index.empty() || heights[i] >= heights[index.top()])
                index.push(i);
            else{
                while(!index.empty() && heights[index.top()] > heights[i]){
                    int cur = index.top(); 
                    index.pop();
                    max_value = max(max_value, heights[cur]*(index.empty() ? i : i-index.top()-1));
                }
                index.push(i);
            }
            
            
        }
        return max_value;
    }
};

参考

https://www.cnblogs.com/grandyang/p/4322653.html

技术解析:PETR如何通过3D位置编码革新多视角3D目标检测 本文深入解析了PETR模型如何通过创新的3D位置编码技术革新多视角3D目标检测。它摒弃了DETR3D复杂的投影采样机制,通过3D坐标生成器和编码器,将3D几何信息直接注入2D图像特征,构建出3D感知特征。该方法简化了流程,提升了模型对空间关系的理解能力与训练稳定性,为自动驾驶等领域的精准感知提供了新思路。 阅读详情

相关推荐

Frida动态Hook实战:逆向美团外卖mtgsig3.0签名算法

在移动应用安全与数据爬取领域,API签名是保障请求合法性与数据完整性的核心机制。其原理是通过特定算法,将请求参数、时间戳等动态要素加密生成唯一字符串,服务器端通过验签防止数据篡改与伪造。这项技术的核心价值在于,它构建了客户端与服务器之间的可信通道,是移动端数据交互安全的基础。在自动化测试、安全审计、市场数据分析等应用场景中,理解并能够获取或绕过签名验证是关键前提。本文聚焦于美团外卖App的核心签名参数mtgsig3.0,针对其复杂的算法逻辑,提供了一套基于Frida的动态Hook解决方案。通过Hook技术,

weixin_33935636的博客 830

【LeetCode】解题84:Largest Rectangle in Histogram

LeetCode解题 84:Largest Rectangle in Histogram Problem 84: Largest Rectangle in Histogram [Hard]解题思路1. 分治法2. 栈Solution (Java)修改过程 Problem 84: Largest Rectangle in Histogram [Hard] Given n non-negative i...

Fayedily的博客 342

英飞凌 AURIX Development Studio工程移植到Hightec的方法

1. 软件简介 AURIX™ Development Studio是英飞凌针对AURIX TC2XX/TC3XX系列单片机推出了一款免费的软件,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。 Hightec是一款可以用来开发Aurix系列单片机的编译器,有免费版,可商用,集成GCC编译器,可用UDE

weixin_42967006的博客 7134

[LeetCode 84, 85]Largest Rectangle in Histogram / Maximal Rectangle

LeetCode第84,85号题,解题报告。利用栈的O(n)算法

zlasd的博客 423

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

weixin_43205954的博客 2462

2025反爬终极方案:Python破解Cloudflare v2行为指纹,设备伪装+轨迹模拟拦截率压至1%

Cloudflare v2的反爬逻辑越来越接近“人类行为识别”,单纯的技术破解已失效,核心竞争力变成“模拟真实用户的能力”。本文的终极方案本质是“全方位复刻人类行为”——从设备指纹到操作轨迹,从网络特征到交互模式,让爬虫成为“无法被区分的真实用户”。这套方案的优势是“通用性强”,不仅适用于Cloudflare v2,也能破解大多数高反爬网站(如小红书、知乎、跨境电商)的行为检测;且代码可直接复用,新手只需替换目标URL和数据提取逻辑,就能快速落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2354

LeetCode84——Largest Rectangle in Histogram

在柱状图中找到面积最大的矩形。

上善若水 2079

便携式水下动态实时视频色彩还原设备,一键快速实现对水下偏色视频和图像的色彩还原处理

便携式水下动态实时视频色彩还原,一键快速对水下图像进行色彩校正,清晰度提升和亮度均衡处理,为水下资源勘探和科学考古,海洋生态环境监测,水下机器作业等应用提供有力的协助

weixin_43518680的博客 633

LeetCode Top 100 Liked Questions 84. Largest Rectangle in Histogram (Java版; Hard)

welcome to my blog LeetCode Top 100 Liked Questions 84. Largest Rectangle in Histogram (Java版; Hard) 题目描述 Given n non-negative integers representing the histogram's bar height where the width of each ...

littlehaes的博客 162

基于Simulink建模仿真的滑模控制的磁悬浮轴承稳定控制仿真

磁悬浮轴承(Magnetic Bearing)利用电磁力来支撑和定位转子,无需机械接触,因此在高速旋转设备中具有广泛应用。滑模控制(Sliding Mode Control, SMC)是一种鲁棒性强的非线性控制方法,适用于磁悬浮轴承的精确控制。以下是基于Simulink的磁悬浮轴承滑模控制系统的详细设计与仿真步骤。通过上述步骤,设计并实现了基于 Simulink 和 Control System Toolbox 的磁悬浮轴承滑模控制系统。

MHD0815的博客 778

COMSOL介电弹性体数值仿真指南:预拉伸圆形DEA的稳态变形分析(I)

本期博客是《COMSOL介电弹性体数值仿真指南》系列博客中的一期。聚焦于介电弹性体驱动器(DEA)中最为经典的预拉伸圆形DEA驱动器构型,对其物理特性及数值仿真总体方案进行介绍与讨论。

忘了面孔的Batou 453

Leetcode 84. Largest Rectangle in Histogram

题目描述:找出数组中最大的矩形面积。 题目链接:Leetcode 84. Largest Rectangle in Histogram 题目思路:这个题目就是85. Maximal Rectangle的基础,求出最大面积高度,只要找到每个柱子左边第一个比他小,和右边第一个比它小的值,然后计算出短板*宽度就是面积了,如果用传统的方法就是循环对每个柱子做一次,这样的话如果所有柱子高度相同,时间...

Za七杂⑧ 390

5. SAP UI5 视图控制器(Controller)初探

本教程的前一个步骤也就是第四个步骤,我们了解了 SAP UI5 XML 视图的使用方法。在该步骤里,我们在 XML 视图里声明了一个 Text 控件实例,该控件位于 sap.m 这个命名空间内。 本步骤会继续接触 SAP UI5 MVC 框架中三大基石的另一块:C - Controller,即控制器。 先看看本步骤完成之后,我们得到的 SAP UI5 应用能实现一个什么样的效果。 访问如下 url: http://localhost:8080/webapp/index.html 能看到一个 Say Hell

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4595

[leetcode] 84. Largest Rectangle in Histogram

Description 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 wid...

Learning from the mistakes 195

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【LeetCode】 84. Largest Rectangle in Histogram

84. Largest Rectangle in Histogram

夏至亦韵 329

leetcode题解:第84题Largest Rectangle in Histogram

题目 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 i...

chenf1999的博客 695

LeetCode 84. 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 ea

ActiveCoder的博客 845

Leetcode-84. Largest Rectangle in Histogram

公众号不定期发布一篇关于Leetcode解题技巧的文章,尝试从多角度、不同方法对题目进行解析。欢迎大家关注! 题目描述(困难难度) 给一个柱状图,输出一个矩形区域的最大面积。 解法一 暴力破解 以题目给出的例子为例,柱形图高度有 1, 2, 3, 5, 6,我们只需要找出每一个高度对应的最大的面积,选出最大的即可。如果求高度为 3 的面积最大的,我们只需要遍历每一个高度,然后看连续的大于等于 ...

猫敷雪 623

leetcode 84 Largest Rectangle in Histogram

leetcode 84 Largest Rectangle in Histogram

快递小可的博客 734

LeetCode84 Largest Rectangle in Histogram

LeetCode84 Largest Rectangle in Histogram问题链接 LeetCode84问题描述 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

yanqinghe123的专栏 334

leetcode 84.Largest Rectangle in Histogram, 85.Maximal Rectangle

leetcode 84.Largest Rectangle in Histogram(Hard) leetcode 85.Maximal Rectangle(Hard)

liquewei_26的博客 376

LeetCode 84. Largest Rectangle in Histogram 题解

本题是单调栈的经典应用,也是面试中的高频题目。单调递增栈:栈中元素的高度递增找到每个柱子的左右边界计算以每个柱子为高的矩形面积通过本题可以深入理解单调栈在解决"下一个更小/更大元素"类问题中的应用。

cannonjinx的博客 2180

LeetCode(84) 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

指尖飞舞 2717

LeetCode //C - 84. Largest Rectangle in Histogram

【代码】LeetCode //C - 84. Largest Rectangle in Histogram。

Made in Code 1077

LeetCode84 Largest Rectangle in Histogram java题解

题目: 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 wher

u012249528的专栏 1413

【Leetcode】84. Largest Rectangle in Histogram

试想有这样的一棵树,其树根为全数组的最小值,其左孩子是其左边的所有数字的最小值,其右孩子是其右边子树的最小值,并且左右子树满足相同的性质。这里的单调严格不严格是不打紧的,都能保证答案正确,主要原因是,如果某个高度连续出现了若干次,当最后一次它出栈的时候,以它为高的最大矩形面积就被确定了,会更新res。3、它的每个节点的左子树的节点个数,是其左边连续的一段大于它的数的个数。它的每个节点的右子树的节点个数,是其右边连续的一段大于它的数的个数。的柱子,按照相同的手法求一遍栈内元素为高度的最大矩形面积即可。

数学、算法爱好者的博客 341
上一篇: [leetcode] 76. Minimum Window Substring
下一篇: [LeetCode] 93. Restore IP Addresses
Peng_maple
博客等级 码龄10年 0粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值