[LeetCode] 42. Trapping Rain Water @ python

本体(Ontology)概述 认识本体        本体(Ontology)的概念源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体可以在语义层次上描述知识,可以看成描述某个学科领域知识的一个通用概念模型。德国学者Studer在1998年给出了本体的相关定义“本体是共享概念模型的形式化规范说明”。这个定义包含了四层含义:即共享(share)... 阅读详情

一.题目:
给一个数组,里面都是非负数,求它们困住的水的最大体积是多少?
Example:

Input: [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6

二.解题思路:
确定一个位置所能存住的水的体积是由其两边的较短的那根柱子决定的.所以我们首先确定两个变量left_max,right_max,并在遍历数组时更新它们的值.
代码如下:

class Solution(object):
    def trap(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        left = 0
        right = len(height) - 1
        left_max = right_max = water = 0
        #left_max 表示左边的最大值,right_max表示右边的最大值
        while left <= right:
            if left_max <= right_max:
                left_max = max(left_max, height[left])
                water += left_max - height[left]
                left += 1
            else:
                right_max = max(right_max, height[right])
                water += right_max - height[right]
                right -= 1
                
        return water
Tinder养号防封攻略来了:最新Tinder养号流程和运营攻略 今天,我就来给大家分享一下Tinder养号的具体操作,以及针对Tinder账号被封的一些常见问题为大家做个答疑。 阅读详情

相关推荐

Codesys 3.5报警功能配置保姆级教程:从变量定义到确认方式(含REF/ACK详解)

本文详细介绍了Codesys 3.5报警功能的配置流程,从变量定义到确认方式的选择,特别解析了REF和ACK两种确认方式的底层逻辑。通过实战案例和代码示例,帮助工程师快速掌握报警系统的搭建与调试技巧,提升工业自动化项目的可靠性。

weixin_29245767的博客 458

算法--------数组--------容纳最多的水

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳...

男儿不展风云志,空有天生八尺躯 715

国产麒麟系统PXE安装-UEFI引导

注意: 适用uefi引导 适用x86_64架构 一键部署脚本扣我 1.上传ISO到PXE服务器,拷贝ISO文件 # mkdir /kylin_iso # mount -o loop Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso /kylin_iso/ 2.配置http,获取安装源 # yum -y install httpd # mkdir /var/www/html/{ks,kylin} # 注意一定是"/kylin_iso/

河静 5055

[leetcode] 42. Trapping Rain Water @ python

原题 https://leetcode.com/problems/trapping-rain-water/ 解法 双指针法, 用l, r定义左边和右边的index, min_height作为目前bar的高度,只能是左右两边高度的较小值, 然后两个指针都往中间刷, 遇到高度小于min_height的index时, 将该index能接到的水加到结果里. Time: O(n) Space: O(1) 代...

闲庭信步 364

PFC胶结模型实战:从线性到平行粘结的力学行为解析

本文深入解析了PFC中线性接触与平行粘结(pb模型)的核心差异与应用。平行粘结模型通过模拟胶结层的力学行为,能够有效传递拉力和抵抗弯矩,是模拟岩石、混凝土等胶结材料的关键。文章详细介绍了其变形与强度参数的设置、法向与切向行为的验证方法,并揭示了全量与增量力计算中易出现的“幽灵力”问题及其解决方案,为复杂模型的构建与调试提供了实用策略。

weixin_29230773的博客 1207

基于STM32的智能工业机器人臂控制系统

工业机器人臂是智能制造的核心组件,广泛应用于装配、焊接、搬运等任务。基于STM32微控制器的机器人臂控制系统,通过集成伺服电机驱动、运动规划算法和实时通信功能,实现对多轴机械臂的精确控制与路径规划。本设计通过STM32实现了一套智能工业机器人臂控制系统,集成了高效的运动规划算法和实时控制功能。机器人臂系统根据输入的目标位置(如工件坐标),通过运动学计算生成动作轨迹,利用伺服电机驱动器控制关节运动。该系统广泛应用于工业自动化场景,如汽车制造中的零件装配、电子产品生产中的元件焊接以及物流系统中的物料搬运。

stm32d1219的博客 2568

【LeetCode】42. Trapping Rain Water 解题报告(Python)

题目分析: 这个题可以先找出最大值,然后从两侧逼近最高值,以左侧为例说明:左侧值高则可蓄水(让左侧的值减去当前值),否则更新左侧值然后循环,右侧与左侧思路相同,代码已有注释,不再详细解释。 测试代码: class Solution: def trap(self, height): if height == []: return 0 max_num = max...

L141210113的专栏 915

香橙派5玩转SATA SSD:一个被忽略的overlays配置项,让你的Ubuntu系统飞起来

本文详细介绍了如何在香橙派5上通过配置`overlays=ssd-sata`启用SATA SSD作为系统启动盘,大幅提升Ubuntu系统的性能。文章深入解析了设备树覆盖的工作原理,提供了完整的配置流程和性能优化建议,帮助开发者充分发挥香橙派5的硬件潜力。

weixin_30787531的博客 220

[leetcode]Trapping Rain Water @ Python

原题地址:https://oj.leetcode.com/problems/trapping-rain-water/ 题意: Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is ab...

weixin_34138139的博客 174

华为od 面试八股文_操作系统_01_含答案

华为od 面试八股文_操作系统_01_含答案

MISAYAONE的博客 3275

中国工商银行企业架构建设实践最全总结

中国工商银行参考IBM持续价值创新方法并吸收TOGAF等主流企业架构的框架理念,结合业务实际情况形成工行自己的企业架构方法论并实践,为数字化转型提供支撑。本案例通过介绍中国工商银行企业架构之业务架构设计方法,为其他银行企业架构建设提供参考。 企业架构是数字化转型的抓手,可以帮助企业规划、管理和实施数字化解决方案,以实现业务目标并适应不断变化的市场条件。中国工商银行通过战略目标指导业务架构的规划和设计,业务架构建模后指导IT架构建模。

银行信息系统应用架构详解 2732

42. Trapping Rain Water

42. Trapping Rain Water 参考: LeetCode Monotone Stack Summary 单调栈小结 Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to t...

zhc_24的博客 1029

PD详解 扩展消息——Source_Capabilities_Extended Message

PD的协议层分为控制消息,数据消息还有扩展消息,今天大师匈讲一下扩展消息中的source_cap_extended。这个消息在扩展消息中算是比较关键的东西。 扩展消息中的source_cap_extended 大师匈先上图,然后逐一解释; 上面的图表说了source_cap_ext中包含了哪些内容。 我们注意到在source_cap扩展消息中是以字节为单位的,并不是像source_cap中以一个object为单位,当然有注意到PD标准spec中说明的扩展消息的话,那里有说明,在header之后的字节

大师匈的博客 3516

[LeetCode] Trapping Rain Water 三种方案 Python

Trapping Rain Water: Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example,  Given [0,1,

新手村 951

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Trapping Rain Water

LeetCode第42题“Trapping Rain Water”是一道经典的算法问题,目标是通过给定的一系列非负整数表示的地形高度图,计算下雨后能够存储的水量。具体来说,输入是一个长度为`n`的数组`height`,其中每个元素代表一个宽度为1的柱形条的高度。这种方法的时间复杂度为\(O(n)\),空间复杂度为\(O(1)\)。print(trap([0,1,0,2,1,0,1,3,2,1,2,1])) # 输出应为6。这里的关键点在于找到每个位置左右两侧的最大值,并以此为基础计算可存储的水量。

weixin_45655842的博客 746

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python写算法题:leetcode: 42. Trapping Rain Water

class Solution(object): def swap(self, items, ind, i, j): tmp=items[i] items[i]=items[j] items[j]=tmp tmp=ind[i] ind[i]=ind[j] ind[j]=tmp def q...

277

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LeetCode: 42. Trapping Rain Water

LeetCode: 42. Trapping Rain Water Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. The above elev...

Wisimer 203

LeetCode 42: Trapping Rain Water题解(python)

Leetcode 42: Trapping Rain Water 分类:Stack (Monotonic Stack) 难度:Hard (H-/M+) 描述:给了一个整数数组,这个数组可以模拟成一个积水的槽。问这个水槽最大能积多少个单位面积的水 Input: [0,1,0,2,1,0,1,3,2,1,2,1] Output: 6 由此图示可见,有六个单位面积的蓝色,对应着六个单位面积的积水。 链接: Trapping Rain Walter. 思路: 此题主要思路是维护一个递减栈。当遇到一个不断递减的b

Bourns_A的博客 693

LeetCode:42. Trapping Rain Water - Python

问题描述:42. 接雨水给定n个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6问题分析:方法一,我们观察其中...

Growth Diary 3825

【leetcode】-42. Trapping Rain Water困雨水

Trapping Rain Water题目暴力法备忘录优化双指针 题目 Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1

。 211

【Python刷力扣hot100】42. Trapping Rain Water

探讨了计算雨水收集量的四种解法:暴力法、动态规划、单调栈和双指针法。暴力法通过遍历每个柱子的左右最高点计算接水量,时间复杂度为O(n^2);动态规划通过预处理左右最大值数组优化到O(n)时间复杂度;单调栈利用栈结构横向计算雨水层;最优解双指针法在O(n)时间O(1)空间内完成计算,通过移动指针动态维护左右最大值。四种方法逐步优化,最终双指针法在时间空间复杂度上达到最优。

tao355667 905

Leetcode 42. Trapping Rain Water

Leetcode 42. Trapping Rain Water Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. The abo...

u010065754的专栏 241

LeetCode- trapping-rain-water

Givennnon-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example, Given[0,1,0,2,1,0,1,3,2,1,2,1], re...

六月二十七的博客 431

Leetcode 42. Trapping Rain Water 接雨水

Leetcode 42. Trapping Rain Water 接雨水 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/trapping-rain-water/ 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2...

CoderWangSon 216

42. Trapping Rain Water接水Python

给定n个表示高度的非负整数,其中每个条的宽度为1,计算下雨后它能捕获多少水。 Input:[0,1,0,2,1,0,1,3,2,1,2,1] Output:6 Method 1 以数组中最大值为标准,area=max×len(height)。每次循环都减掉没有达到最大值的部分的那层。如下图,第一次减掉黄色的部分,第二次减掉蓝色的部分,第三次减掉粉色的部分。最后结果减掉所有数的和,剩下的就是装水量。 用l和r代表左右两侧,每次l从0开始,r从数组的长度开始向中间合并。当l或者r位置的值小于数

weixin_44516745的博客 314

Leetcode——Trapping Rain Water

题目描述 Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. 给出n个非负整数,表示一个立面图,每一个条形图的宽度是1,计算下雨之后这个条形图能够存多少水 The above elevation map is represented by array [0,1

Blackoutdragon的博客 516
上一篇: [LeetCode] 407. Trapping Rain Water II @ python
下一篇: [LeetCode] 32. Longest Valid Parentheses @ python
tmfighting
博客等级 码龄9年 3粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值