当前位置: 首页 > news >正文

Day60 柱状图中最大的矩形

84 柱状图中最大的矩形

题目链接:84. 柱状图中最大的矩形 - 力扣(LeetCode)

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

输入:heights = [2,1,5,6,2,3]
输出:10
解释:最大的矩形为图中红色区域,面积为 10

思路:使用left、right分别记录每个元素左边比它小和右边比它小的位置。

class Solution {
public:int largestRectangleArea(vector<int>& heights) {vector<int> left(heights.size(), -1);vector<int> right(heights.size(), heights.size());stack<int> s;int result = 0;//rightfor(int i = 0; i < heights.size(); i++){while(!s.empty() && heights[i] < heights[s.top()]){right[s.top()] = i;s.pop();}s.push(i);}while(!s.empty()) { s.pop();}//leftfor(int i = heights.size() - 1; i >= 0; i--){while(!s.empty() && heights[i] < heights[s.top()]){left[s.top()] = i;s.pop();}s.push(i);}for(int i = 0; i < heights.size(); i++){result = max(result, (right[i] - left[i] - 1) * heights[i]);}return result;}
};
http://www.lryc.cn/news/360755.html

相关文章:

  • typescript --object对象类型
  • 如何使用python将多个EXCEL表进行合并
  • 【前端每日基础】day35——HTML5离线存储
  • 动态规划算法:背包问题
  • 新版idea配置git步骤及项目导入
  • 赶紧收藏!2024 年最常见 20道 Kafka面试题(一)
  • unsigned char*和const char*的一些问题
  • 前端知识1-4:性能优化进阶
  • ios 新安装app收不到fcm推送
  • 汽美汽修店管理系统会员小程序的作用是什么
  • 远程自动锁定平面
  • 鸿蒙Ability Kit(程序框架服务)【UIAbility组件与UI的数据同步】
  • 一个完整的springboot项目,我们还需要做什么
  • QT-界面居中管理
  • Python | MATLAB | R 心理认知数学图形模型推断
  • Linux系统tab键无法补齐命令-已解决
  • 数据库之函数、存储过程
  • 安卓启动 性能提升 20-30% ,基准配置 入门教程
  • Linux C/C++目录和文件的更多操作
  • 如何高效地向Redis 6插入亿级别的数据
  • 中国历年肥料进口数量统计报告
  • 即时通讯视频会议平台,WorkPlus本地化部署解决方案
  • Java的数据库编程-----JDBC
  • 如何获取SSL证书,消除网站不安全警告
  • Unity动画系统介绍
  • Three.js-实现加载图片并旋转
  • ACM实训第25天
  • GraphQL(2):使用express和GraphQL编写helloworld
  • Vue中的计算属性和侦听器:提升响应式编程的艺术
  • JavaScript倍速播放视频