力扣hot100 柱状图中最大的矩形 单调栈

Problem: 84. 柱状图中最大的矩形
在这里插入图片描述

文章目录

  • 思路
  • 复杂度
  • Code

思路

👨‍🏫 参考地址
在这里插入图片描述

在这里插入图片描述

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( n ) O(n) O(n)

Code

class Solution {public static int largestRectangleArea(int[] height){Stack<Integer> stack = new Stack<Integer>();// 单调递增栈 存的是下标int n = height.length;int[] h = new int[n + 2];//加两 哨兵节点,因为是单调递增栈 所以 加最小值h[0] = 0;//前哨兵System.arraycopy(height, 0, h, 1, n);//把 height 数组 从 0 开始 复制长度为 [1,n] (n-1 + 1)的长度到 h 数组h[n + 1] = 0;//后哨兵int m = n + 2;int ans = 0;for (int i = 0; i < m; i++){while (!stack.isEmpty() && h[i] < h[stack.peek()]){int cur = stack.pop();//这是区间的最小值,现在 i 并没有入栈// 至此:h(l,r)开区间内都是 大于 h[cur]int l = stack.peek() + 1;// 当前栈顶为左边的第一个小于 h[cur] 的值 的下标ans = Math.max(ans, (i - l) * h[cur]);}
//			stack.push(i);stack.add(i);}return ans;}
}

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

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

相关文章

Windows Server 2025 来了

微软于2024年1月26日发布了Windows Server 2025的预览版更新&#xff0c;Windows Server 2025是由您的反馈和您希望拥抱混合、自适应云的愿望驱动的。这是2024年度的首个预览版&#xff0c;版本号为Build 26040。 在Windows Server 2025中&#xff0c;微软引入了多项新安全机制…

旧物回收小程序开发:创新与可持续发展的交汇点

随着社会的发展和人们生活水平的提高&#xff0c;物品的更新换代速度越来越快&#xff0c;这导致了大量的旧物被闲置或丢弃。为了解决这个问题&#xff0c;旧物回收成为了重要的环保行动。而随着移动互联网的普及&#xff0c;旧物回收小程序的开发也成为了新的趋势。本文将探讨…

Redis(九)集群(cluster)

文章目录 概述作用1. redis集群的槽位slot2. redis集群的分片3. 第1,2点的优势&#xff1a;**最大优势&#xff0c;方便扩缩容和数据分派查找**4. slot槽位映射&#xff0c;一般业界有3种解决方案第一种&#xff1a;哈希取余分区第二种&#xff1a;一致性哈希算法分区第三种&am…

【Spring源码分析】循环依赖的底层源码剖析

循环依赖的底层源码剖析 一、预知知识二、循环依赖的底层源码剖析1. Spring 是如何存储半成品Bean的&#xff1f;getEarlyBeanReference 方法的源码分析 2. Spring 是如何解决的循环依赖呢&#xff1f;测试 3. 哪些循环依赖 Spring 是无法解决的呢&#xff1f;Async 引起的循环…

华为配置小型网络WLAN 的基本业务示例

配置小型网络WLAN基本业务示例 组网图形 图1 配置小型网络WLAN基本业务组网图 小型WLAN网络简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 小型WLAN网络简介 本文介绍的WLAN网络是指利用频率为2.4GHz或5GHz的射频信号作为传输介质的无线局域网&#xff0c;相对于有…

Leetcode—1828. 统计一个圆中点的数目【中等】

2024每日刷题&#xff08;一零五&#xff09; Leetcode—1828. 统计一个圆中点的数目 实现代码 class Solution { public:vector<int> countPoints(vector<vector<int>>& points, vector<vector<int>>& queries) {vector<int> a…

LINUX基础培训十九之常见服务dns介绍

前言、本章学习目标 了解dns服务用途掌握dns服务器的配置掌握dns服务的使用 一、DNS服务概述 DNS是域名系统(Domain Name System)的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的个分布式数据库&#xff0c;能够使人更方便的访问…

STL-priority_queue

文档 目录 1.关于priority_queued1的定义 2.priority_queue的使用 1.关于priority_queued1的定义 1. 优先队列是一种容器适配器&#xff0c;根据严格的弱排序标准&#xff0c;它的第一个元素总是它所包含的元素中最大的。 2. 此上下文类似于堆&#xff0c;在堆中可以随时插入元…

主从数据库MySQL服务重启步骤与注意事项

主从数据库MySQL服务重启步骤与注意事项 实验环境&#xff1a; 172.20.26.34 &#xff08;主应用服务器&#xff09; 172.20.26.26 &#xff08;备应用服务器&#xff09; 172.20.26.37 &#xff08;主库服务器&#xff09; 172.20.26.38 &#xff08;从库服务器&…

Android MediaCodec 简明教程(四):使用 MediaCodec 将视频解码到 Surface,并使用 SurfaceView 播放视频

系列文章目录 Android MediaCodec 简明教程&#xff08;一&#xff09;&#xff1a;使用 MediaCodecList 查询 Codec 信息&#xff0c;并创建 MediaCodec 编解码器Android MediaCodec 简明教程&#xff08;二&#xff09;&#xff1a;使用 MediaCodecInfo.CodecCapabilities 查…

kafka集群搭建需要做的事情

首先&#xff0c;虚拟机克隆好之后的步骤如下&#xff1a; 1. 修改IP、主机名&#xff0c;关闭防火墙&#xff1b;&#xff08;reboot重启&#xff09; 2. 在/etc/hosts文件中进行IP与主机名的映射配置&#xff0c;集群中每天都记得配置&#xff1b; 3. 安装JDK并进行分发&a…

力扣题目训练(5)

2024年1月29日力扣题目训练 2024年1月29日力扣题目训练345. 反转字符串中的元音字母349. 两个数组的交集350. 两个数组的交集 II96. 不同的二叉搜索树97. 交错字符串44. 通配符匹配 2024年1月29日力扣题目训练 2024年1月29日第五天编程训练&#xff0c;今天主要是进行一些题训…