42-蓄水池

Posted kingshine007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了42-蓄水池相关的知识,希望对你有一定的参考价值。

题目:给定一个数组,每个数表示宽度为 1 的柱子的高度,计算按此排列的柱子,下雨之后能接多少雨水。

def trap(arrys):
    res = 0
    l,r = 0,len(arrys)-1
    max_left,max_right = 0,0
    while l<r:
        max_left = max(arrys[l],max_left)
        max_right = max(arrys[r],max_right)
        if max_left<max_right:
            res+=max_left-arrys[l]
            l+=1
        else:
            res+=max_right-arrys[r]
            r-=1
    return res

  注:采用双指针从前后开始遍历,并且需要分别存储左右最大值。依次计算每列所能存储的雨水的量,然后累加即可。

以上是关于42-蓄水池的主要内容,如果未能解决你的问题,请参考以下文章

转-spark抽样之蓄水池抽样

LeetCode 42. Trapping Rain Water

陈雷主持国家防总会商会 部署当前防汛防台风汛末蓄水工作

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

NYOJ题目27水池数目

无法从 onListItemClick 开始片段