JAVA练习346- 柱状图中最大的矩形
题目概览给定n个非负整数用来表示柱状图中各个柱子的高度。每个柱子彼此相邻且宽度为 1 。求在该柱状图中能够勾勒出来的矩形的最大面积。示例 1:输入heights [2,1,5,6,2,3]输出10解释最大的矩形为图中红色区域面积为 10示例 2输入heights [2,4]输出4提示1 heights.length 10^50 heights[i] 10^4来源84. 柱状图中最大的矩形 - 力扣LeetCode解题分析方法单调栈本题可以看做求每个高度的最大矩形然后返回最大的一个。令当前索引为 i以 [ 2, 3, 1, 4 ] 为例子i 0 时当前高度为 2不能确定最大矩形i 1 时当前高度为 3大于前一个的高度不能确定最大矩形i 2 时当前高度为 1小于前一个的高度因此 i 1高度为 3 的矩形可以确定面积为 3 * ( 2 - 1 )当前高度矩形不能确定因为 i 1 高度为3的矩形已经确定且 i 2 高度为1的高度小于 i 0 的高度高度为2因此 i 0 的矩形面积为 2 * ( 2 - 0 )i 3 时当前高度为 4大于前一个的高度无法确定高度i 4 时越界了此时可以看做高度为 0小于前一个的高度因此 i 3高度为 4 的矩形可以确定面积为 4 * ( 4 - 3 )此时还剩余 高度为 1 的因为 1 最小且其他高度已确定因此面积为 1 * 4得到最大值 4由上面过程可以看出我们实际上关注的是当前高度是否小于前一个的高度因此我们可以定义一个单调递减的栈那么当栈为空时入栈 height [ i ]当 height[ i ] 栈顶元素时入栈 height [ i ]当 height[ i ] 栈顶元素时出栈栈顶元素令索引为 j 若此时栈为空则以 height[ j ] 为高度的最大矩形面积为 height[ j ] * i若此时栈不为空则以 height[ j ] 为高度的最大矩形面积为 height[ j ] * ( i - j - 1)然后继续用栈顶元素重复以上 2、3 操作当 i n 时将 height [ j ] 看做 0重复 3 的操作返回计算过程中最大的矩形面积即可。时间复杂度O(n)空间复杂度O(n)class Solution { public int largestRectangleArea(int[] heights) { int n heights.length; DequeInteger dq new ArrayDeque(); int max 0, i 0; while(i n) { int curHeight i n ? 0 : heights[i]; if (!dq.isEmpty() heights[dq.peek()] curHeight) { int height dq.pop(); int width i; if (!dq.isEmpty()) { width i - dq.peek() - 1; } max Math.max(max, heights[height] * width); continue; } dq.push(i); } return max; } }

相关新闻

多模型聚合平台如何助力企业级AI应用开发与成本控制

多模型聚合平台如何助力企业级AI应用开发与成本控制

多模型聚合平台如何助力企业级AI应用开发与成本控制 对于正在构建或已经部署企业级AI应用的技术团队而言,模型选型、API接入的复杂性以及随之而来的成本不可预测性,是普遍面临的挑战。直接对接多个厂商的API,意味着需要维护多套密钥、处理不…

2026/7/25 11:45:44 阅读更多 →
FastWan-QAD视频生成:量化感知蒸馏与低精度推理优化实践

FastWan-QAD视频生成:量化感知蒸馏与低精度推理优化实践

这类视频生成工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来。FastWan-QAD 的核心价值很明确:在单张 RTX 5090 上,1.8 秒生成 5 秒 480P 视频。这个速度比常见的 TurboDiffusion、LightX2V 快 3 倍以上,关键是用…

2026/7/25 11:45:44 阅读更多 →
为AI智能体项目选择并接入Taotoken作为模型供应商的决策过程

为AI智能体项目选择并接入Taotoken作为模型供应商的决策过程

为AI智能体项目选择并接入Taotoken作为模型供应商的决策过程 在开发一个需要调用多种大模型的AI智能体项目时,技术选型是项目早期的重要决策。面对市场上众多的模型供应商和API接口,如何选择一个既能满足技术需求,又能简化工程实现、便于成本…

2026/7/25 11:45:44 阅读更多 →

最新新闻

企业智能体如何降低加班成本与提升效率

企业智能体如何降低加班成本与提升效率

1. 企业加班成本现状与智能体机遇最近三年,某人力资源调研机构对2000家企业的抽样数据显示:平均每家企业每年因低效会议、重复性文档处理、跨部门沟通延迟导致的无效加班时长高达487小时。以互联网行业为例,一个50人规模的团队每月因此产生的…

2026/7/25 12:04:52 阅读更多 →
九号控制器二次开发实战:从环境搭建到稳定性测试全流程

九号控制器二次开发实战:从环境搭建到稳定性测试全流程

1. 先搞清楚九号控制器二次开发到底能解决什么问题九号控制器二次开发,特别是针对极飞 A12 这类设备的测试,核心解决的是在标准控制器功能之外,实现定制化控制逻辑、数据采集或自动化任务的问题。如果你拿到的是工业级、农业无人机或智能设备…

2026/7/25 12:04:52 阅读更多 →
在HermesAgent项目中自定义Provider接入Taotoken聚合服务

在HermesAgent项目中自定义Provider接入Taotoken聚合服务

在HermesAgent项目中自定义Provider接入Taotoken聚合服务 对于使用Hermes Agent框架的开发者而言,其灵活的Provider机制允许你轻松接入不同的模型服务。本文将指导你如何将Taotoken平台作为自定义模型供应商接入你的Hermes Agent项目。整个过程主要涉及配置一个cus…

2026/7/25 12:04:52 阅读更多 →
Visual C++运行库终极解决方案:一劳永逸安装所有版本

Visual C++运行库终极解决方案:一劳永逸安装所有版本

Visual C运行库终极解决方案:一劳永逸安装所有版本 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否经常遇到打开软件时弹出"MSVCP140.dll…

2026/7/25 12:04:52 阅读更多 →
AI教材编写:15%以下查重率的实战方法论

AI教材编写:15%以下查重率的实战方法论

1. 项目背景与核心价值 作为一名长期从事教育内容创作的从业者,我深刻理解教材编写过程中面临的查重难题。传统教材编写往往需要投入大量时间进行文献查阅、内容整合和原创表达,而AI技术的出现为这一领域带来了全新可能。但如何正确使用AI工具生成符合学…

2026/7/25 12:04:52 阅读更多 →
基于HarmonyOS的AI电梯演讲脚本——从对齐到评估的全流程技术实践

基于HarmonyOS的AI电梯演讲脚本——从对齐到评估的全流程技术实践

基于HarmonyOS的AI电梯演讲脚本——从对齐到评估的全流程技术实践 一、项目背景与需求分析(Align) 1.1 场景痛点分析 在现代数字生活中,用户对电梯演讲脚本的需求日益增长。传统的电梯演讲脚本方式存在效率低下、个性化不足等问题。通过AI技术…

2026/7/25 12:03:52 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻