acwing-3194 最大的矩形

acwing-3194 最大的矩形

这个题程序设计课上有讲过,

平民算法,时间复杂度在 O ( n 2 ) O(n^2) O(n2)

//
// Created by HUAWEI on 2024/10/28.
//
#include<iostream>using namespace std;const int Max_size = 1e4 + 20;int N;
int h[Max_size];int main() {cin >> N;for (int i = 0; i < N; i++)cin >> h[i];int res = 0;for (int i = 0; i < N; i++) {int l = i - 1;int r = i + 1;while (l >= 0 and h[l] >= h[i])l--;while (r <= N - 1 and h[r] >= h[i])r++;int temp = (r - l - 1) * h[i];if (temp > res)res = temp;}cout << res << endl;return 0;
}

单调栈解决,时间复杂度在 O ( n ) O(n) O(n)

//
// Created by HUAWEI on 2024/10/28.
//
#include<iostream>
#include<cstring>
#include<algorithm>
#include<stack>
#include<vector>using namespace std;int largestArea(vector<int> &h) {// 单调栈返回最大矩形面积stack<int> s; //单调非减栈h.insert(h.begin(), -1);h.push_back(0);int len = h.size();int res = 0;s.push(0);for (int i = 1; i < len; i++) {while (h[i] < h[s.top()]) {int temp = s.top();s.pop();res = max(res, (h[temp] * (i - s.top() - 1)));}s.push(i);}return res;
}int main() {int n;vector<int> h;cin >> n;for (int i = 0; i < n; i++) {int temp;cin >> temp;h.push_back(temp);}cout << largestArea(h);return 0;
}

参考博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】树的定义

在计算机科学中&#xff0c;树&#xff08;Tree&#xff09;是一种重要的基础数据结构&#xff0c;广泛应用于许多领域&#xff0c;如文件系统的目录结构、数据库的索引、编译器的语法树、人工智能的决策树等。理解树的基本概念和术语&#xff0c;对于学习计算机科学及其相关技…

三个shell脚本

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容&#xff0c;不存在则创建一个文件将创建时间写入。 测试结果&#xff1a; 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 3、编写个shell脚本将/usr/local 日录…

读书笔记--共享服务中心建设原则

最近阅读了《企业IT架构转型之道》记录和思考如下&#xff0c;供大家学习参考。随着企业的数字化转型推进&#xff0c;很多企业开始从原来的SPA模式应用转变为平台技术应用&#xff0c;比如阿里巴巴的共享服务中心&#xff0c;传统企业的统一认证的share服务等等。可以说&#…

DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议

文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴&#xff08;Event Storming&#xff09;事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…

【C语言系列】函数递归

函数递归 一、递归是什么&#xff1f;1.1尾递归 二、递归的限制条件三、递归举例3.1举例一&#xff1a;求n的阶乘3.2举例二&#xff1a;顺序打印一个整数的每一位 四、递归与迭代4.1举例三&#xff1a;求第n个斐波那契数 五、拓展学习青蛙跳台问题 一、递归是什么&#xff1f; …

css盒子水平垂直居中

目录 1采用flex弹性布局&#xff1a; 2子绝父相margin&#xff1a;负值&#xff1a; 3.子绝父相margin:auto&#xff1a; 4子绝父相transform&#xff1a; 5通过伪元素 6table布局 7grid弹性布局 文字 水平垂直居中链接&#xff1a;文字水平垂直居中-CSDN博客 以下为盒子…

攻防世界 Web_php_wrong_nginx_config

​ 打开题目地址&#xff0c;显示为登录页面。尝试用御剑扫描一下&#xff0c;发现了admin页面&#xff0c;点进去显示如下 点开控制台&#xff0c;发现如下 isLogin参数为0。尝试抓包并该islogin参数为1&#xff0c;返回依旧不变。 再扫描&#xff0c;发现robots.txt&#xff…

HTML5实现好看的端午节网页源码

HTML5实现好看的端午节网页源码 前言一、设计来源1.1 网站首页界面1.2 登录注册界面1.3 端午节由来界面1.4 端午节习俗界面1.5 端午节文化界面1.6 端午节美食界面1.7 端午节故事界面1.8 端午节民谣界面1.9 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 H…

net-http-transport 引发的句柄数(协程)泄漏问题

Reference 关于 Golang 中 http.Response.Body 未读取导致连接复用问题的一点研究https://manishrjain.com/must-close-golang-http-responsehttps://www.reddit.com/r/golang/comments/13fphyz/til_go_response_body_must_be_closed_even_if_you/?rdt35002https://medium.co…

关于husky8.0 与 4.0的配置

husky的场景使用很多&#xff0c;一般大多场景是在配置git commit 命令拦截hook, 校验 commit-msg 格式规范。以下环境默认&#xff1a;git > 2.27.0, node >14 1、安装huskey8.0.1 npm install --save-dev husky8.0.1 2、初始化配置文件 在package.json scripts 属性…

CV(9)--迁移学习

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 fine-tuning 在实践中&#xff0c;由于数据集不够大&#xff0c;很少有人从头开始训练网络。常见的做法是使用预训练的网络 &#xff08;例如在ImageNet上训练的分类1000类的网络&#xff09;来重新fine-tuning&#xff08;也…

LS1046+XILINX XDMA PCIE调通

欢迎点赞收藏&#xff0c;欢迎私下讨论技术&#xff0c;分享技术 硬件平台 &#xff1a;NXP LS1046 XILINX FPGA 软件平台&#xff1a;LINUX 4.19.68 buildroot LS1046 PEX3 接 XILINX FPGA&#xff0c;linux使用designware的PCI主控制器。下载XILINX DMA驱动&#xff0c;解…

C语言gdb调试

目录 1.gdb介绍 2.设置断点 2.1.测试代码 2.2.设置函数断点 2.3.设置文件行号断点 2.4.设置条件断点 2.5.多线程调试 3.删除断点 3.1.删除指定断点 3.2.删除全部断点 4.查看变量信息 4.1.p命令 4.2.display命令 4.3.watch命令 5.coredump日志 6.总结 1.gdb介绍…

[程序设计]—代理模式

[程序设计]—代理模式&#x1f473; 本文章记录学习于——52.面向切面&#xff1a;AOP-场景模拟_哔哩哔哩_bilibili 最近闲来无事&#xff0c;在学习Spring的源码&#xff1a; 后面慢慢更新源码系列blog&#xff0c;希望多多关注&#x1f64f;&#x1f64f; 目前已经总结的b…

我的128天创作之路:回顾与展望

大家好呀&#xff01;今天来和你们分享一下我的创作历程&#x1f601;。 一、机缘 最开始创作呢&#xff0c;是因为在学习 C 的 STL 时&#xff0c;像 string、list、vector 这些模板可把我折腾得够呛&#xff0c;但也让我学到了超多东西&#xff01;我就想&#xff0c;要是把我…

RAID储存技术

RAID独立磁盘冗余技术是一种把2个或者多个HDD或SSD合并为一个协调的存储单元或列阵&#xff0c;从而预防数据丢失的技术&#xff0c;其最早由加州大学伯克利分校的计算机科学家David Patterson、Garth Gibson和Randy Katz在1987年提出。他们的研究论文“关于RAID的论证”提出了…

Openstack持久存储-Swift,Cinder,Manila三者之间的区别

总结不易&#xff0c;给个三连吧&#xff01;&#xff01;&#xff01; 补充&#xff1a; 文件共享存储服务Manila 在OpenStack生态系统中&#xff0c;Cinder和Manila分别提供了两种不同类型的存储服务&#xff0c;类似于传统的SAN&#xff08;存储区域网络&#xff09;和NAS&…

软件测试预备知识④—NTFS权限管理、磁盘配额与文件共享

在软件测试的实际环境搭建与管理过程中&#xff0c;了解和掌握NTFS权限管理、磁盘配额以及文件共享等知识至关重要。这些功能不仅影响系统的安全性和稳定性&#xff0c;还对测试数据的存储、访问以及多用户协作测试有着深远的影响。 一、NTFS权限管理 1.1 NTFS简介 NTFS&am…

PyTorch深度学习CNN神经网络ResNet、DenseNet在CIFAR图像数据集分类应用与分析

全文链接&#xff1a;https://tecdat.cn/?p38782 在当今深度学习领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;架构不断发展与创新&#xff0c;诸多先进的架构被提出并广泛应用。像GoogleNet&#xff08;ILSVRC 2014获胜者&#xff09;、ResNet&#xff08;ILSVRC…

word论文排版常见问题汇总

word论文排版常见问题汇总 常用快捷键&#xff1a; Alt F9 正常模式与域代码模式切换 Ctrl F9 插入域代码 F9 刷新域代码显示&#xff0c;要注意选定后刷新才会有效果 word中在当前列表的基础上修改列表 在使用word时&#xff0c;我们会定义一个列表&#xff0c;并将其链接…