高唐做网站建设的公司小皮怎么创建网站
news/
2025/10/7 8:40:29/
文章来源:
高唐做网站建设的公司,小皮怎么创建网站,个人网站备注模板,wordpress 注册登录目录 题目答案运行结果 题目
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图#xff0c;计算按此排列的柱子#xff0c;下雨之后能接多少雨水。
示例1#xff1a; 输入#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出#xff1a;6 解释#xff1a;上面是由数组… 目录 题目答案运行结果 题目
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图计算按此排列的柱子下雨之后能接多少雨水。
示例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 个单位的雨水蓝色部分表示雨水。 示例 2 输入height [4,2,0,3,2,5] 输出9 提示
n height.length1 n 2 * 1040 height[i] 105 答案
动态规划
我们定义 left[i] 表示下标 i 位置及其左边的最高柱子的高度定义 right[i] 表示下标 i 位置及其右边的最高柱子的高度。那么下标 i 位置能接的雨水量为 min(left[i],right[i])−height[i]。我们遍历数组计算出 left[i] 和 right[i]最后答案为 ∑ i 0 n − 1 m i n ( l e f t [ i ] , r i g h t [ i ] ) − h e i g h t [ i ] \sum_{i0}^{n-1} min(left[i],right[i])−height[i] ∑i0n−1min(left[i],right[i])−height[i] 。
时间复杂度 O(n)空间复杂度 O(n)。其中 n 为数组的长度。
class Solution(object):def trap(self, height)::type height: List[int]:rtype: intn len(height)left [height[0]] * nright [height[-1]] * nfor i in range(1, n):left[i] max(left[i - 1], height[i])right[n - i - 1] max(right[n - i], height[n - i - 1])return sum(min(l, r) - h for l, r, h in zip(left, right, height))运行结果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930215.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!