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

python-leetcode-柱状图中最大的矩形

84. 柱状图中最大的矩形 - 力扣(LeetCode)

class Solution:
    def largestRectangleArea(self, heights: List[int]) -> int:
        stack = []  # 维护一个单调递增栈
        max_area = 0
        heights.append(0)  # 添加一个哨兵高度 0,确保所有柱子都能被处理
        
        for i, h in enumerate(heights):
            while stack and heights[stack[-1]] > h:
                height = heights[stack.pop()]
                width = i if not stack else i - stack[-1] - 1
                max_area = max(max_area, height * width)
            stack.append(i)
        
        return max_area

http://www.dtcms.com/a/36870.html

相关文章:

  • ai大模型自动化测试-TensorFlow Testing 测试模型实例
  • 银行应用系统全生命周期管理制度设计
  • Java进阶学习笔记18——接口的注意事项
  • 深入解析Java线程优先级的奥秘
  • VUE 获取视频时长,无需修改数据库,前提当前查看视频可以得到时长
  • 三、多项式环
  • 深度学习奠基作 AlexNet 论文阅读笔记(2025.2.25)
  • HPE Aruba Networking推出全新解决方案助力零售商增强物联网数据收集与边缘处理能力
  • 清华大学出品DeepSeek 四部教程全收录(附下载包),清华deepseek文档下载地址
  • leetcode 136. 只出现一次的数字
  • STM32开发方式
  • 本地大模型编程实战(22)用langchain实现基于SQL数据构建问答系统(1)
  • idea + Docker + 阿里镜像服务打包部署
  • 【切割——最小公共质因数】
  • 17.C++类型转换
  • DeepSeek 开源周:DeepEP 项目详解,GPU 压榨计划启动!
  • 基于javaweb的SpringBoot健身房管理系统设计和实现(源码+文档+部署讲解)
  • 猿大师播放器:智慧交通Web网页低延迟播放监控RTSP H.265视频解决方案
  • 蓝桥杯之日期题
  • 【项目测试】博客系统—Selenium自动化测试、编写测试用例
  • JavaScript函数
  • 虚拟机 | Ubuntu 安装流程以及界面太小问题解决
  • 终端指令后续和shell脚本编程
  • linux 设置tomcat开机启动
  • Java包装类性能优化:深入解析Integer享元模式的源码实现
  • 一文掌握Selenium的详细使用
  • OpenCloudOS Server 9 安装openssl 1.1.x
  • 5个GitHub热点开源项目!!
  • 多媒体常用概念
  • 双重因子认证:守护数字安全的“双保险”