码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 代码随想录算法训练营Day60 | 单调栈(3/3) LeetCode 84.柱状图中最大的矩形


    今天就是训练的最后一天了,刷满60天,感觉很有成就感!

    84. Largest Rectangle in Histogram

    Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram.

    用单调栈的思路来解这道题,本题是要找每个柱子左右两边第一个小于该柱子的柱子,所以从栈头(元素从栈头弹出)到栈底的顺序应该是从大到小的顺序。栈顶和栈顶的下一个元素以及要入栈的三个元素组成了我们要求最大面积的高度和宽度。

    1. class Solution:
    2. def largestRectangleArea(self, heights: List[int]) -> int:
    3. heights.insert(0, 0)
    4. heights.append(0)
    5. stack = [0]
    6. result = 0
    7. for i in range(1, len(heights)):
    8. while stack and heights[i] < heights[stack[-1]]:
    9. mid_height = heights[stack[-1]]
    10. stack.pop()
    11. if stack:
    12. # area = width * height
    13. area = (i - stack[-1] - 1) * mid_height
    14. result = max(area, result)
    15. stack.append(i)
    16. return result

  • 相关阅读:
    docker数据卷和数据卷容器
    Java常见跳出循环的4种方式总结、switch中的break与return、lamada表达式中foreach如何正确选择退出方式
    C++指针
    UIScrollView(UICollectionView)禁止横向和竖向同时滑动
    有向图计数优化版原理及C++实现
    JNOJ 江南大学OJ 问题解决之—开机自动启动判题机 故障现象:卡在等待评测
    EL表达式内置对象initParam
    从零开始制作【立体键盘】,画UI免写CSS,【盲打练习】的交互逻辑只用了10来行表达式!
    【Vue 基础知识】keep-alive是什么?怎么用?
    MySql——InnoDB引擎总体架构
  • 原文地址:https://blog.csdn.net/Hanzq1997/article/details/133279372
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号