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

LeetCode【84】柱状图中的最大矩形

题目:
在这里插入图片描述

思路:
https://blog.csdn.net/qq_28468707/article/details/103682528
https://www.jianshu.com/p/2b9a36a548fa 清晰

代码:


public int largestRectangleArea(int[] heights) {int[] heightadd = new int[heights.length + 1];for (int i=0;i<heights.length;i++) {heightadd[i] = heights[i];}heightadd[heights.length] = 0;       // 为了末尾计算,Stack<Integer> stack = new Stack<>();stack.push(0);int maxArea = 0;for (int i=0;i<heightadd.length;i++) {while (!stack.isEmpty() && heightadd[stack.peek()] > heightadd[i]) {  // 开始计算int high = stack.pop();int width = stack.isEmpty() ? i : i - stack.peek() - 1;   int area = width * heights[high];     // 这里高和宽容易出错,注意maxArea = Math.max(maxArea, area);}stack.push(i);}return maxArea;}
http://www.lryc.cn/news/188493.html

相关文章:

  • C++:关于模拟实现vector和list中迭代器模块的理解
  • HTML 笔记 表格
  • 3.1 C/C++ 使用字符与指针
  • [代码学习]einsum详解
  • 女性必看——“黄体破裂”到底有多可怕?
  • colab切换目录的解决方案
  • 基于SSM的生活缴费系统的设计与实现
  • 【WebLogic】WebLogic 2023年7月补丁导致JVM崩溃的解决方案
  • 简单OpenSL ES学习
  • Linux网络编程- struct packet_mreq setsockopt()
  • C++学习day4
  • 从零学算法54
  • Logback日志框架使用详解以及如何Springboot快速集成
  • Nginx概念
  • vim基础指令(自用)
  • 【centos7安装ElasticSearch】
  • ElementPlus Switch 开关基础使用
  • Spring Boot:自定义注解--annotation
  • WIFI频段
  • Java的引用详解与示例
  • c++视觉处理---霍夫变换
  • el-table 边框颜色修改 简单有效!
  • Zabbix第二部分:基于Proxy分布式部署实现Web监控和Zabbix HA集群的搭建
  • JumpServer rce深入剖析
  • EasyExcel导入/导出Excel文件
  • 力扣(LeetCode)2512. 奖励最顶尖的K名学生(C++)
  • CubeMX+BabyOS 使用方法
  • OpenResty安装-(基于Nginx的高性能Web平台,可在Nginx端编码业务)
  • 算法-DFS+记忆化/动态规划-不同路径 II
  • 黑盒测试方法:原理+实战