拒绝躺平,每日一卷(第九天)目录方法一:动态规划(图像法)方法二:双指针。方法3:动态规划题目:给定 n 个非负整数表示每个宽度为 1输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6(按照常识我们也可以知道,可装6个单位的雨水)列表长度大于等于1方法一:动态规划(图像法)我们知道可以盛水的最大高度取决于所找出的两根最高柱子中的较短那根,就是先找出一定范围内两根最高
转载
2023-09-16 06:17:32
34阅读
# LeetCode: 接雨水问题的解决方案
接雨水问题是一个经典的算法题,要求我们计算在一个给定的数组中,截图的“水”能积累的总量。本文将详细介绍解决此问题的步骤与必要的代码实现,帮助刚入行的小白开发者理解和掌握。
## 一、解决流程
在解决接雨水的问题前,我们需要明确几个关键的步骤。下面是具体的流程:
| 步骤 | 说明 |
|------
原创
2024-09-29 06:15:58
41阅读
https://leetcode-cn.com/problems/trapping-rain-water/题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。...
原创
2021-07-14 11:00:15
369阅读
字节跳动公司面试高频考题:接雨水。本题圈出单调栈解法中最重要的一个环节:去重复的工作是如何巧妙完成的?
原创
2022-06-12 00:02:05
473阅读
https://leetcode-cn.com/problems/trapping-rain-water/题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。...
原创
2022-02-06 10:09:33
416阅读
什么时候用单调栈呢? 通常是一维数组,要寻找任一个元素的右边第一个比自己大或者左边第一个比自己小的元素的位置,此时
原创
2023-03-03 01:43:06
148阅读
大家好!动态规划题目是总结的比较完整了。下面是自从和大家刷开题总结的动态规划解题方法。今年全国夏天雨是真的多,突然想到今年北京的夏天也不像往年那么热。不知不觉就稳稳地度过了夏天来到秋天。恰巧前几天有一个粉丝问到了我,网上接雨水的解决总是感觉有点混乱,能不能用动态规划解决。今早北京大雨,借用大雨的感受,想了想接雨水问题,依然用长图一步一步说明!背景先来看看题目,这个题目应该是很多人都已经遇到过了,因
转载
2024-01-07 12:06:17
69阅读
点赞
接雨水解法详解:题目:基本思路:从图上可以看出要想接住雨水,必须是凹字形的,也就是当前位置的左右两边必须存在高度大于它的地方,所以我们要想知道当前位置最多能存储多少水,只需找到左边最高处max_left和右边最高处max_right,取他们两个较小的那边计算即可(短板效应)。其实接下来的解法要解决的问题就是如何找到max_right和max_left。不过我们首先来看一个无法AC的解法:解法一:按
转载
2024-06-18 20:46:04
51阅读
Hard! 题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示
原创
2021-05-24 15:18:57
234阅读
"题目链接" 【题解】 考虑每个位置它最后能接多少单位的水。 显然就是这个min(位置左边最高的位置,位置右边最高的位置) 当前这个位置的高度。 这就是这个位置最后水上涨的高度。 两个边界注意是不会储水的(都会掉到左边或者右边的边界外去). 每个位置左边最高的位置可以用DP很容易搞出来 【代码】
转载
2019-11-15 09:26:00
99阅读
2评论
原题点这里 这个题刚开始看,一点思路也没有呀。。。。然后就迫不及待的看了题解。也不知道什么时候能积累出量变 这个题虽然标记为困难,但是其实不难。最简单的办法,我们计算每个位置的储水量:Min(maxL,maxR)-height[i] 我们在计算i位置上的储水量,分别向左向右找到最大值即可。 124m
转载
2020-04-04 21:54:00
135阅读
2评论
# LeetCode 接雨水问题解析与 Python 实现
接雨水(Trapping Rain Water)问题是一个经典的算法问题,通常出现在编程面试和在线评测中。问题描述如下:给定一个非负整数数组 `height`,其中 `height[i]` 表示在位置 `i` 处的高度。计算在这些柱子之间可以接住多少雨水。
## 问题分析
接雨水的核心思想是,对于每一个位置 `i`,我们需要找到左右
原创
2024-09-04 04:55:14
147阅读
题目描述 题干: 给定 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] 表示的高度图 ...
转载
2021-11-03 09:50:00
643阅读
2评论
42. 接雨水给定 n 个非负整数表示每个宽...
原创
2021-07-12 17:15:19
93阅读
给定 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 个单位的雨水(蓝色部分表示雨水)。第一种解法:暴力破解,一列一列算思路使用双层循环,在遍历每一根柱
转载
2024-05-17 21:23:41
62阅读
...
原创
2021-07-12 17:14:40
89阅读
...
原创
2021-07-12 17:15:18
59阅读
42. 接雨水给定 n 个非负整数表示每个宽...
转载
2020-02-14 17:23:00
52阅读
...
转载
2020-02-14 17:23:00
35阅读
2评论
题目链接42. 接雨水思路分析与程序员面试金典 面试题 17.21. 直方图的水量相同。class Solution {public: int trap(vector<int>& height) { std::ios::sync_with_stdio(false); if(height.empty()) return 0; int n = height.size(); vector<int>
原创
2021-08-24 09:42:48
67阅读