力扣42接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

python 复制代码
class Solution(object):
    def trap(self, height):
        # 初始化双指针
        left = 0
        right = len(height) - 1
        # 初始化左边和右边的最大高度
        left_max = right_max = 0
        res = 0
        while left < right:
            if height[left] < height[right]:
                # 左边更小,水量由左边决定
                if height[left] >= left_max:
                    # 更新左边的最大高度
                    left_max = height[left]
                else:
                    res += left_max - height[left]
                left += 1
            else:
                # 右边更小,水量由右边决定
                if height[right] >= right_max:
                    # 更新右边的最大高度
                    right_max = height[right]
                else:
                    res += right_max - height[right]
                right -= 1
        return res 

需要明确怎么才能存不住水:取决于哪边的水高更小,水量就由哪边决定。

那如何计算水量就需要通过最大高度-当前的水高,如果当前水高更高,就需要更新最大高度。

相关推荐
xiaoshuaishuai82 小时前
C# AvaloniaUI 资源找不到报错
java·服务器·前端·windows·c#
How_doyou_do2 小时前
26字节工程营-前端-自我总结
前端
十有八七2 小时前
🧩 组件库死亡倒计时?—— AI 编码冲击下的前端基础设施重构
前端·人工智能
ZhengEnCi2 小时前
O07-银行家算法
算法
风止何安啊2 小时前
我一个前端仔,居然用 Python 搞起了 AI?从零到一,撸了个 AI 聊天框小 demo
前端·人工智能·后端
装不满的克莱因瓶2 小时前
图像尺寸调整:缩放矩阵如何改变像素坐标?
人工智能·线性代数·数学·算法·机器学习·矩阵
GISer_Jing2 小时前
Claude Code插件系统全解析
前端·人工智能·ai·架构
小茴香3532 小时前
Vue3路由权限动态管理
前端·前端框架·vue3
RANxy2 小时前
零基础全栈 React 入门(四):React Router 路由配置
前端·react.js
KaMeidebaby2 小时前
卡梅德生物技术快报|peg 修饰调控 MXene/WS2 异质结,氨气传感器制备与机理研究
大数据·前端·人工智能·架构·spark·新浪微博