力扣题库第7题:接雨水
- 其他
- 2025-07-23 13:24:02

题目内容:
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
示例 :输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。
答案: # coding:utf-8 # 时间:2024/3/10 17:33 # Pythonit教程网(blog.pythonit.cn) # Python全栈视频课件获取:www.dqu.cc # 加速高防cdn:woaiyundun.cn def trap(height): if not height: return 0 left, right = 0, len(height) - 1 left_max, right_max = height[left], height[right] water = 0 while left < right: # 如果左边的高度小于右边的高度 # 则更新左边最大高度,并计算当前位置能接的雨水量 if height[left] < height[right]: if height[left] > left_max: left_max = height[left] else: water += left_max - height[left] left += 1 # 如果右边的高度小于等于左边的高度 # 则更新右边最大高度,并计算当前位置能接的雨水量 else: if height[right] > right_max: right_max = height[right] else: water += right_max - height[right] right -= 1 return water height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1] print(trap(height)) # 输出:6力扣题库第7题:接雨水由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“力扣题库第7题:接雨水”
上一篇
安装zabbix