首页 > TAG信息列表 > 雨水

42. 接雨水

42. 接雨水 给定 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 个单位的雨水(蓝色

leetcode42-接雨水

接雨水 dp 维护两个dp数组,分别记录左侧和右侧的最大值。当前位置的雨水就是左右两侧最大值的较小值减去当前位置的高度,将所有雨水累加即可得到结果。 class Solution { public int trap(int[] height) { int n = height.length, left[] = new int[n], right[] = new

leetcode42. 接雨水

给定 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 个单位的雨水(蓝色部分表示雨水)。 示例 2:

leedcode 407. 接雨水2

          思路分析 : 在二维中的接雨水,对每一个位置可以接水的量是其左侧的最大值和右侧的最大值中取小值 而在三维的接雨水中,首先可以知道的是最外面一层是不能接水的,因此对内层某一个位置的可以接水量,即为其四周高度的最小值决定的 我们可以借助优先队列,上来先将四周放入

LeetCode42 接雨水(单调栈)

LeetCode42 接雨水 维护一个单调栈,单调栈存储的是下标,满足从栈底到栈顶的下标对应的数组 height 中的元素递减 每次遇到大于栈顶元素的值时进行答案累计 class Solution: def trap(self, height: List[int]) -> int: ans, stack, l = 0, [], len(height) fo

二维接雨水

    https://leetcode.cn/problems/trapping-rain-water-ii/       func trapRainWater(heightMap [][]int) int { m, n := len(heightMap), len(heightMap[0]) maxHeight := 0 for _, row := range heightMap {//找到最高的格子 for _, h := range r

42. 接雨水

给定 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

go-接雨水

func CountMaxRain(t *testing.T){ var height =[]int {0,1,0,2,1,0,1,3,2,1,2,1} leftMax:=make([]int,0,len(height)) rightMax:=make([]int,len(height)) for i:=range height{ if i==0{ leftMax=append(leftMax,height[i])

接雨水(单调栈 STL)

      【输入样例】120 1 0 2 1 0 1 3 2 1 2 1

一切在这里

我们播下种子,对天空祈求,滋润植物,饮下雨水,再还给土壤,诅咒寒冷,朝着太阳跳舞,随着微风起舞,由于经历过的东西而流泪,在月亮的赔本下做梦。 我们张开我们的双手迎接另一个可能充满希望的季节,用祝福、石块和老鹰的羽毛平衡压力,带着收获回家。 听,鸟儿欢唱将地球唤醒。 旋转的宇宙突然打开

42. 接雨水

42. 接雨水 给定 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 个单位的雨水(蓝色部分表示雨水)。

LeetCode No42. 接雨水

题目 给定 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 个单位的雨水(蓝色部分表示雨水)。 示

42. 接雨水

题目链接:https://leetcode-cn.com/problems/trapping-rain-water/ 点击查看代码 public class Solution { // leetcode42,接雨水 public int trap(int[] height) { int size = height.length; if (size <= 1) { return 0; }

接雨水C++

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水) #include<iostream> #include<vector> using namespace std; int main() {

leetcode 407 接雨水

三维空间的接雨水 有一点像dijkstar最短路径搜索。 所谓dijkstar, 是有一个closeset的,closeset表明的是已经确定距离的位置。 初始位置是closeset,每次都取与closeset相邻的最近的点放入到closet中。 相邻的点用一个最小堆来维护。 这道题也是一样, 初始的closeset是周围一圈,因为周围

消失的雨夜

(2020-05-13 记) 刚下楼,看到地上印记:哦?下雨了?看来今天又要挨淋了。 伸出手感受雨滴落在手心的安静,消无声息直击心底。 不知道为什么从小就很喜欢下雨天,时常一个人蹲坐在门口看着淅淅沥沥的小雨洗涤着这个世界。总能给人不一样的安静。 喜欢呆坐在窗前,打开电脑,泡一杯竹叶茶,看着竹叶绽

算法-栈和队列:接雨水

算法-栈和队列:接雨水 给出一排宽度为1、高度为n的柱子,求可以接到雨水的面积。 思路解析: 方法一:采用双指针解法,按列计算,第一个柱子和最后一个柱子不接雨水,因为宽度为1所以每一列的面积=min[左边最高高度,右边最高高度]-Height,如果小于0则取0。方法二:采用动态规划解法,和方法一

LeetCode 42: 接雨水(困难)

LeetCode 42: 接雨水 解答 这个题需要好好分析一下,自己的思路离单调栈的标准答案就一步之遥了,就是没想出来,最近有点颓md, 代码一:单调栈 主要分析一下为什么自己的思路大体方向是正确的,但就是差最后一步。 首先,分析出来只有凹槽结构才能接雨水,单调栈处理每个凹槽结构,这个没问

大寒时节又是雨

今天大寒时节,早晨起来的时候感觉有些泠,孩子妈妈说,外面下着蒙蒙细雨,绵绵不绝,出门记得添衣保暖。 我随口应声说好,想起来,大寒是二十四节气的最后一个节气了,同时也是表示冬天最泠的时候快要到来了,熬过了这段时间,就是春天了。 常言到小寒大寒是雨水最少的季节,但是今年有些不一样,第

407. 接雨水 II

给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。 示例 1: 输入: heightMap = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]] 输出: 4 解释: 下雨后,雨水将会被上图蓝色的方块中。总的接雨水量为1+2+1=4。 来源:力

力扣42(接雨水)

双指针法 具体实现:     列4 左侧最高的柱子是列3,高度为2(以下用lHeight表示)。 列4 右侧最高的柱子是列7,高度为3(以下用rHeight表示)。 列4 柱子的高度为1(以下用height表示) 那么列4的雨水高度为 列3和列7的高度最小值减列4高度,即: min(lHeight, rHeight) - height。 列4的雨水高度求

42. 接雨水

描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。     链接 42. 接雨水 - 力扣(LeetCode) (leetcode-cn.com) 解法一:双指针 1 class Solution { 2 // 总体思想,一格一格的去计算 3 public int trap(int[] height)

力扣:42. 接雨水

  1、超时双指针做法 class Solution { public: int trap(vector<int>& height) { int thesize=height.size(); int cnt=0,l=0,r=thesize-1; while(l<r) { while(l<r&&height[l]==0) ++l;

LC42——接雨水(单调栈、动态规划)

接雨水问题 原题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 1、 简单解法 首先,直观上来看能接雨水的柱子的两边肯定有比它更高的柱子。那么如何确定一根柱子可以接多少雨水呢?如前一句分析,与它左边最高的柱子和右边最高

leetcode42.接雨水

leetcode42.接雨水 题目 给定 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 个单位的雨水(蓝色部分