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 思路 我们可以
LeetCode (42): Trapping Rain Water 【描述】 Givennnon-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], return6. 【中文描述】 给定n个非负数,...
【leetcode】42. Trapping Rain Water 题目如下: 解题思路:我的方法是找出所有的顶点,即满足height[i] > height[i+1] && height[i] > height[i-1]条件的index,如果height[i] == height[i+1],则需要往后顺延,找到i后面第一个不与自己相等的点,把所有的顶点存入列表peaks,接下来遍历peaks,对于任意一个pe...
## 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)-数组最多能装多少水 题目:给定一个数组,数组中的每一个元素代表一个高度,问由数组中的元素组成的桶总共能装多少水。 Given[0,1,0,2,1,0,1,3,2,1,2,1], return6. 思路:与前面数组容器最多能装多少水采用类似的方法,双指针一头一尾遍历一遍,每次移动短板,在移动短板...
LeetCode刷题 42. 接雨水 一、题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 二、第一...
首先用两个数组,max_left [ i ] 代表第 i 列左边最高的墙的高度,max_right [ i ] 代表第 i 列右边最高的墙的高度。(一定要注意下,第 i 列左(右)边最高的墙,是不包括自身的,和 leetcode 上边的讲的有些不同) 对于max_left 我们其实可以这样求。
42. Trapping Rain Water https://leetcode.com/problems/trapping-rain-water/description/ 题意:接雨水 思路1:暴力。虽然暴力,但很巧妙。i遍历一次数组,每次以i为中心,用指针j向两侧遍历,找左右最高的数maxleft和maxright,则i处能留下的雨水最多为:左右max的最小值减去i处的高度。 复杂度o(n^2),c++...
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.
题目连接:https://leetcode.com/problems... 如果只是从数组的左边扫描到右边,不可能在这种单向扫描时知道:在当前扫描到的的地板上方能够装多少水。因为能装多少水依赖于当前地板的两边的地形,而单向扫描时无法知道当前地板右边的地形。因此我们需要从两边向中间扫描。