首页 > TAG信息列表 > LeetCode42

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:

LeetCode42 接雨水(单调栈)

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

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 个单位的雨水(蓝色部分

Leetcode42:接雨水python实现

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 1.将容器补齐为阶梯状,计算面积 2.扣除容器部分面积 python class Solution: def trap(self, height: List[int]) -> int: n = len(height) if n <= 2: ret

leetcode42,接雨水,思路清晰,由简入繁讲解,java语言

记录自己刷题弄的一些思路 先列出问题 给定 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 接雨水

问题描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 例:输入: [0,1,0,2,1,0,1,3,2,1,2,1];输出: 6 思路: 暴力法(按列求解) 栈 双指针 //java //暴力法 class Solution { public int trap(int[] height) { int

LeetCode42:接雨水(Trapping Rain Water)

英文题目: 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. The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6