题目来源:https://leetcode-cn.com/problems/trapping-rain-water/ 今天在LeetCode上看到一道很有意思的题目:接雨水。题目给出了一些柱子的高度,然后要求出这些柱子可以装的水有多少。 我想到的方法是从左往右遍历数组,记录当前的最高的柱子高度,只要遇到比最高柱子低的柱子,就假设这个柱子可以装下(最高柱子
Leetcode 42题 接雨水(Trapping Rain Water) https://leetcode-cn.com/problems/trapping-rain-water/ 题目内容 给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例图 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 思路 我们可以设置两个数组...
想到这两中情形的话就好理解多了。 还有Approach 4: Using 2 pointers方法,详细见:https://leetcode.com/problems/trapping-rain-water/solution/
## LeetCode 42H - Trapping Rain Water,双指针法 from typing import List class Solution: ## height 表示列表中元素的取值,高度 def trap(self, height: List[int]) -> int: if not height: ## 如果没有任何高度 return 0 ## 接不住任何雨水 ## 初始化左右指针 l, r = 0, len(height) - 1...
LeetCode Trapping Rain Water LeetCode解题之Trapping Rain Water 原题 计算一个凹凸不平的模型中能够存放多少的雨水。 以下图为例,黑色的地方是砖块。蓝色的地方是积水。 注意点: 给的參数数组表示的是砖块的高度(它自身也要占面积),不仅仅是边 不会存在负数的情况...
leetCode(trapping-rain-water)-数组最多能装多少水 题目:给定一个数组,数组中的每一个元素代表一个高度,问由数组中的元素组成的桶总共能装多少水。 Given[0,1,0,2,1,0,1,3,2,1,2,1], return6. 思路:与前面数组容器最多能装多少水采用类似的方法,双指针一头一尾遍历一遍,每次移动短板,在移动短板...
https://leetcode-cn.com/problems/trapping-rain-water/ 题目内容 给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 思路 我们可以设置两个数组,「left_height_array」和「right_height_array」; ...
https://leetcode.cn/problems/trapping-rain-water/description/ 给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 这道题如果难的话就是难在思路,怎么去算 三、终版 o(n) 找到最高点,两边依次以最高边为终边,看自己是否有积水,是否有积水取决于历史是否有高...
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,0,2,1,0,1,3,2,1,2,1], return 6. The above elevation map is represented by array [0,1,0,2,1,0,...
leetcode 42 接雨水 trapping-rain-water【ct】,思路:当前点的=min(lmax,rmax)-cur,最终加到一起