首页 > 编程语言 >60天【代码随想录算法训练营34期】第十章 单调栈part03 (84.柱状图中最大的矩形)

60天【代码随想录算法训练营34期】第十章 单调栈part03 (84.柱状图中最大的矩形)

时间:2024-05-31 14:21:33浏览次数:24  
标签:84 min 随想录 heights 柱状图 result 34 append

84.柱状图中最大的矩形

class Solution:
    def largestRectangleArea(self, heights: List[int]) -> int:
            s = [0]
            result = 0
            heights.insert(0,0)
            heights.append(0)
            
            for i in range(1, len(heights)):
                if heights[s[-1]] < heights[i]:
                    s.append(i)
                elif heights[s[-1]] == heights[i]:
                    s.pop()
                    s.append(i)
                else:
                    while s and heights[s[-1]] > heights[i]:
                        mid = s[-1]
                        s.pop()
                        if s:
                            min_left = s[-1]
                            min_right = i
                            area = (min_right-min_left-1)*heights[mid]
                            result = max(result, area)
                    s.append(i)
            return result

标签:84,min,随想录,heights,柱状图,result,34,append
From: https://www.cnblogs.com/miramira/p/18224511

相关文章

  • 折线图加柱状图
    在data函数中定义数据myopiaList或从后端接口中拿到数据是个可以实时更新改变的echarts视图myopiaList:[24,50,70];initLineChart(){constmyopiaData=Array.isArray(this.lineChartConfig.series)?this.lineChartConfig.series:[];......
  • 34.MySQL数据库【四】过滤条件
    过滤条件【一】语法select*/字段名from*/表名where*/字段名=字段值;--执行顺序from起手知道是那张表where根据过滤条件在表中过滤数据select再过滤出自己想要的数据【二】准备的数据#创建表createtablefilt_eg( idintnotnulluniqueauto_increment,......
  • 代码随想录算法训练营第第23天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索
    修剪二叉搜索树这道题目比较难,比添加增加和删除节点难的多,建议先看视频理解。题目链接/文章讲解:https://programmercarl.com/0669.修剪二叉搜索树.html视频讲解:https://www.bilibili.com/video/BV17P41177ud/***@param{TreeNode}root*@param{number}low*@pa......
  • P6342 [CCO2017] Vera 与道路建设 题解
    题目大意对于一个图w一共有v个点点的编号为1,2,...,v,对于点a与点b如果满足$a\tob$且$b\toa$使得每一条道路都只走过一次,那么我们称$a,b$为完美点对,当一个联通图只有$k$个完美点对时,称这个联通图为美丽公路网,要求求出一个美丽公路网......
  • 代码随想录算法训练营第四十四天|01 背包、动态规划:01背包理论基础(滚动数组)、416. 分
    01背包文档讲解:代码随想录题目链接:46.携带研究材料(第六期模拟笔试)有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 暴力解法:每个物品都有放与不放两种状态......
  • 代码随想录算法训练营Day55 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总
    本文目录583.两个字符串的删除操作做题看文章72.编辑距离做题看文章编辑距离总结篇以往忽略的知识点小结个人体会583.两个字符串的删除操作代码随想录:583.两个字符串的删除操作Leetcode:583.两个字符串的删除操作做题找出最长公共子序列,然后用两个字符串的......
  • amCharts绘制折线图和柱状图混合
    代码案例<!DOCTYPEhtml><html><head><scriptsrc="https://cdn.amcharts.com/lib/5/index.js"></script><scriptsrc="https://cdn.amcharts.com/lib/5/xy.js"></script><scriptsrc=&qu......
  • TypeScript error TS2345 All In One
    TypeScripterrorTS2345AllInOneerrorTS2345:Argumentoftype'number'isnotassignabletoparameteroftype'string'.errorsfunctiondailyTemperatures(temperatures:number[]):number[]{//❌errorTS2345:Argumentoftype......
  • 代码随想录算法训练营第第22天 | 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中
    二叉搜索树的最近公共祖先相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。题目链接/文章讲解:https://programmercarl.com/0235.二叉搜索树的最近公共祖先.html视频讲解:https://www.bilibili.com/video/BV1Zt4y1F7ww/***@param{TreeNode}......
  • Day 8 | 344.反转字符串 、541. 反转字符串II 、151.翻转字符串里的单词
    344.反转字符串建议:本题是字符串基础题目,就是考察reverse函数的实现,同时也明确一下平时刷题什么时候用库函数,什么时候不用库函数题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.反转字符串.html思考太简单了classSolution:defreverseString(self,......