算法Day60 | 84.柱状图中最大的矩形,刷题总结
Day60
- 84.柱状图中最大的矩形
- 刷题总结
84.柱状图中最大的矩形
题目链接:84.柱状图中最大的矩形
遍历每个元素,找到左右元素小于当前元素的,以左右元素间的区间(左开右开区间)所围成的面积中的最大值。
数组尾部加一个0:由于单调栈为单调递减,当前元素是在数组元素小于栈顶元素的情况下,才开始弹出的,为了避免栈不弹出(数组默认顺序为单调递增,则不会弹出),因此栈尾需要给一个一定会弹出的数字,因此为0。
确保所有的柱子都能被处理到,因为如果柱子的高度都是递增的,那么最后一个柱子可能不会被处理到。
数组首部也需要加一个0:因为小于元素左侧的为栈顶第二元素,也就是为了防止对空栈进行操作,如果栈为空,则表示当前柱子是最小的柱子。但对于vector数组来说,在首部插入元素,很消耗时间,因此可以单独对空栈进行判断,从而避免在首部插入元素。
class Solution {
public:int largestRectangleArea(vector<int>& heights) {heights.push_back(0);//数组尾部加0stack<int> st;int sum = 0;for (int i = 0; i < heights.size(); ++i) {while (!st.empty() && heights[i] < heights[st.top()]) {int cur = st.top();st.pop();int Width = st.empty() ? i/*当栈为空时,直接输出i作为宽度*/ : i - st.top() - 1;sum = max(sum, Width * heights[cur]);}st.push(i);}return sum;}
};
刷题总结
这60天过得飞快。我已养成每天打开CLion、《代码随想录》、B站和CSDN的习惯。刷题不仅让我对数据结构、算法等相关知识有了更深入的了解,还提升了我对C++的使用能力。
每次观看完视频讲解后,我都会亲自动手编写代码,并将其与文章中给出的代码进行比较,从中吸取双方的优点。借助CLion上的LeetCode插件,我对编译器调试功能运用得也更加娴熟。
最重要的是,我学会了对问题进行切入点分析。按照《代码随想录》的刷题顺序进行学习,这种连贯性的方式让我更容易抓住重点,不再东奔西跑,极大地提高了我的做题效率。回头看刷卡记录,每一天都有新的收获,这种满足感弥足珍贵。
相关文章:
算法Day60 | 84.柱状图中最大的矩形,刷题总结
Day60 84.柱状图中最大的矩形刷题总结 84.柱状图中最大的矩形 题目链接:84.柱状图中最大的矩形 遍历每个元素,找到左右元素小于当前元素的,以左右元素间的区间(左开右开区间)所围成的面积中的最大值。 数组尾部加一个…...
python实现pdf转换为word文档,尽量保持格式不变
from pdf2docx import Converterdef convert_pdf_to_word(pdf_path, docx_path, font_path):# 创建 pdf2docx.Converter 对象,用于进行 PDF 到 Word 文档的转换操作。cv Converter(pdf_path)# 设置系统默认字体文件的路径cv.font_path font_path# docx_path 转换…...
TCP / IP 网际层的 4 个重要协议
TCP / IP 网际层的 4 个重要协议 TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网通信的协议。其中,网际层(Internet Layer)是TCP/IP协议栈中的一个关键层,主要负责网络间的数据…...
MySQL阶段DAY20(附笔记)
【注意】:工厂模式学习知识结构如下: (一)、单例模式 1.Single类: 使用懒汉式:对象的延迟加载,安全的,高效的应用 双重判断提升效率和安全性 package singleton;/** 单例设计模式之…...
考场作弊行为自动抓拍告警算法 yolov7
考场作弊行为自动抓拍告警系统通过yolov7python网络模型算法,考场作弊行为自动抓拍告警算法实时监测考场内所有考生的行为,对考生的行为进行自动抓拍,并分析判断是否存在作弊行为。YOLOv7 的发展方向与当前主流的实时目标检测器不同ÿ…...
在Linux中安装RabbitMQ
RabbitMQ下载网址 Socat下载网址 erlang下载网址 RabbitMQ安装包依赖于Erlang语言包的支持,所以需要先安装Erlang语言包,再安装RabbitMQ安装包 通过Xftp软件将这三个压缩包上传到linux中的opt目录下 ,双击即可 在安装之前先查询…...
electron 单个实例控制以及日志输出
electron 单个实例控制 在使用electron打包的应用程序的时候,点击应用图标会打开多个实例,要想控制单个实例,需要通过 app.requestSingleInstanceLock() 判断当前程序的实例是否为当前取得锁, 或者说, 当前实例是否为…...
基于matlab使用AprilTag标记进行相机校准(附源码)
一、前言 AprilTags被广泛用作物体检测、定位应用的视觉标记,并作为相机校准的目标。AprilTags类似于QR码,但旨在编码更少的数据,因此可以更快地解码,这对于实时机器人应用程序非常有用。使用 AprilTags 作为校准模式的优点包括更…...
计算机网络————运输层
文章目录 概述UDPTCP首部格式 连接管理连接建立连接释放 概述 从IP层看,通信双方是两个主机。 但真正进行通信的实体是在主机中的进程,是这个主机中的一个进程和另一个主机中的一个进程在交换数据。 所以严格的讲,两个主机进行通信就是两个…...
【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…...
【RPC】—Protobuf入门
Protobuf入门 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html SpringMVC专栏&a…...
【⑩MySQL】:表管理,让数据管理不再困难
前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概念 在MySQL数据库中,表是一种很重要的数据库对象…...
Springboot项目使用原生Websocket
目录 1.启用Websocket功能2.封装操作websocket session的工具3.保存websocket session的接口4.保存websocket session的类5.定义websocket 端点6.创建定时任务 ping websocket 客户端 1.启用Websocket功能 package com.xxx.robot.config;import org.springframework.context.a…...
在Vue 3中如何实现服务端渲染(SSR)
今天我要给你们介绍一个很酷的功能——在Vue 3中实现服务端渲染(SSR) 首先,我们来聊聊SSR是什么。它就像是一个魔术师,能让你的网页在服务器上就预先渲染好,然后发送到客户端。想象一下,你在浏览一个网页&…...
【计算机组成原理期末课设作业】16位微型计算机实现——MOVS串传送扩展指令设计
16位微型计算机实现——MOVS串传送扩展指令设计😎 前言🙌教学目的:1、数据**加粗样式**通路分析2、微程序控制器分析3、指令系统分析4、微程序控制器指令周期流程图5、微指令编码6、测试程序和运行结果(1)首先先在内存…...
CodeMirror 对 XML 文档熟悉及元素控制自定义
CodeMirror 是一个网络代码编辑器组件。它可以在网站中用于实现支持多种编辑功能的文本输入字段,并具有丰富的编程接口以允许进一步扩展。 本文为 xml 格式的代码提示约束格式规范的自定义示例内容。 先看效果,如下: 官方 Demo 的完整代码如…...
Jetpack - ViewModel
一、概念 二、使用 2.1 创建ViewModel //无参 class MainViewModel : ViewModel() {} //有参 class MainViewModel(mainRepository: MainRepository) : ViewModel() {} class MainViewModelFactory(private val mainRepository: MainRepository) : ViewModelProvider.Factor…...
【新版系统架构】第十三章-层次式架构设计理论与实践
软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…...
剖析Linux文件系统
Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统。例如,read 函数调用可以从指定的文件描述符读取一定数量的字节。read 函数不了解文件系统的类型ÿ…...
简介Maven结构与配置方法
一、Maven是什么 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 它有什么用呢? 比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。 当jar包多的时候,一个一个导出,…...
三步掌握开源资源处理工具:让RPG Maker MV资源处理效率提升90%
三步掌握开源资源处理工具:让RPG Maker MV资源处理效率提升90% 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: https:/…...
Qwen3-14B镜像轻量化设计:50GB系统盘+40GB数据盘高效空间管理
Qwen3-14B镜像轻量化设计:50GB系统盘40GB数据盘高效空间管理 1. 镜像概述与核心优势 Qwen3-14B私有部署镜像是一款专为RTX 4090D 24GB显存显卡优化的轻量化解决方案。通过精心设计的50GB系统盘40GB数据盘架构,实现了大模型部署的空间效率最大化。这个镜…...
深入解析GNSS信号跟踪环路:从PLL/DLL原理到Python仿真实践
1. GNSS信号跟踪环路基础概念 当你用手机导航时,背后其实藏着一套精密的信号追踪系统。想象一下,头顶的GPS卫星就像演唱会上的歌手,而你的手机接收机则是要听清歌词的观众。但现实中存在两个主要干扰:一是你和歌手都在移动&#x…...
OpenClaw赋能金融投研:17个高效应用案例详解
扫描下载文档详情页: https://www.didaidea.com/wenku/16666.html...
如何快速配置NoteGen快捷键:从新手到效率高手的完整指南
如何快速配置NoteGen快捷键:从新手到效率高手的完整指南 【免费下载链接】note-gen 一款专注于记录和写作的跨端 AI 笔记应用。 项目地址: https://gitcode.com/GitHub_Trending/no/note-gen 你是否曾经在使用笔记应用时,频繁切换鼠标点击菜单&am…...
写作压力小了!2026年首选推荐的专业降AI率软件
2026年论文降AI率工具已从“基础改写”升级为智能优化系统,核心评价维度包括AIGC识别精度、文本自然度、学术合规性、查重适配性、多语言支持与操作便捷性。本次测评覆盖6款主流工具,涵盖中英文论文、全流程与专项功能、免费与付费版本,让你高…...
探索kedro:数据科学项目的高效管理框架
探索kedro:数据科学项目的高效管理框架 【免费下载链接】kedro Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, ma…...
我国网络安全行业前景如何?是否可以入行?有哪些岗位?
我国网络安全行业前景如何?是否可以入行?有哪些岗位? 网络空间安全专业简称“网络安全专业”,主要以信息构建的各种空间领域为主要研究对象,包括网络空间的组成、形态、安全、管理等。我国网络空间安全专业于2015年设立…...
解锁3D打印新境界:Blender 3MF插件全面指南 [特殊字符]
解锁3D打印新境界:Blender 3MF插件全面指南 🚀 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 在当今的3D打印工作流中,选择合适的文件…...
别再傻傻分不清了!MOC3081、3061、3041、3021这几款可控硅光耦到底怎么选?
MOC30xx系列可控硅光耦深度选型指南:从参数解析到实战避坑 在电力电子设计领域,可控硅光耦就像电路中的"安全卫士",既要确保强弱电之间的可靠隔离,又要精准触发功率器件。MOC30xx系列作为经典的可控硅驱动光耦ÿ…...
