首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
雨水专题
力扣接雨水
给定 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: 输入:height
阅读更多...
力扣面试经典算法150题:接雨水
接雨水 今天的题目是力扣面试经典算法150题中的困难难度数组题目:分发糖果。 题目链接:https://leetcode.cn/problems/trapping-rain-water/description/?envType=study-plan-v2&envId=top-interview-150 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱
阅读更多...
牛客笔试,牛客.四个选项(dfs巨难)牛客.接雨水动态规划单调栈解法牛客.栈和排序牛客.加减
目录 牛客.四个选项(dfs巨难) 牛客.接雨水 动态规划 单调栈解法 牛客.栈和排序 牛客.加减 牛客.四个选项(dfs巨难) 刚开始我是想着用数学,Cxx去解决,但是他的还有其余条件,就没有办法解决,所以就枚举 ,递归的数据量不大时候,是推荐使用的 import java.util.*;// 注意类名必须为 Main, 不要有任何 packag
阅读更多...
[Algorithm][综合训练][四个选项][接雨水]详细讲解
目录 1.四个选项1.题目链接2.算法原理详解 && 代码实现 2.接雨水1.题目链接2.算法原理详解 && 代码实现 1.四个选项 1.题目链接 四个选项 2.算法原理详解 && 代码实现 解法:DFS(暴搜) + 剪枝 + Hash 剪枝: 填某个数的时候,要看看还有没有剩余次数填某个数的时候,符不符合若干题的选项必须相同 #include <iostr
阅读更多...
【NO.16】LeetCode经典150题-42. 接雨水
文章目录 【NO.16】LeetCode经典150题-42. 接雨水解题:动态规划 【NO.16】LeetCode经典150题-42. 接雨水 42. 接雨水 【困难】【HOT100】 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1 : 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1
阅读更多...
day49 | 42. 接雨水 84. 柱状图中最大的矩形
代码随想录算法训练营第 49 天| 42. 接雨水 84. 柱状图中最大的矩形 Leetcode 42. 接雨水 题目链接:https://leetcode.cn/problems/trapping-rain-water/description/ 题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:hei
阅读更多...
海绵城市雨水监测系统
海绵城市雨水监测系统主要有:数据采集、无线数据传输、后台云服务、终端平台显示等部分组成。系统通过前端数据采集水质(ss\cod\浊度、PH等)、雨水雨量、流量、水位、土壤湿度、气象等数据。通过无线数据传输通讯(4G、5G、以太网、北斗等)上传至后台云服务器系统,云服务系统,负责对数据和视频图像的接收、记录、处理、存储、转发,最后在监测终端显示(包括手机终端和电脑网页终端,支持对海绵办、环保、水利等
阅读更多...
Leetcode42接雨水(单调栈)
题目 题目链接 解法一 求出前缀最大和后缀最大,用两者较小值减去当前高度,累加即可,这个思路容易想到,这里不赘述 class Solution {public:int trap(vector<int>& height) {vector<int> preMx(height.size()), postMx(height.size());int mx = 0;for (int i = 0; i
阅读更多...
解锁SQL无限可能 | 如何利用SQL求解力扣难题接雨水问题?
目录 1 需求描述 1 数据准备 2 问题分析 3 小结 1 需求描述 原文链接:42. 接雨水 - 力扣(LeetCode) 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,
阅读更多...
leetcode题解-接雨水问题
文章目录 问题描述问题抽象问题关键点分析思路一思路二结束语 雨纷纷,旧故里草木深。 我听闻,你始终一个人。 今天忘忧跟大家一起探索一个跟雨水有关的算法,题目来源leetcode。 问题描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。下面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在
阅读更多...
Day43 | 42. 接雨水 84.柱状图中最大的矩形
语言 Java 42. 接雨水 接雨水 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 思路 本题可以用暴力的方法做,也可以用双指针做,但是本次我们使用单调栈完成 定义一个栈用来存递增的高度。先将放进去一个元素。 定义一个sum 用来最后返回结果。 定义stackTop表示栈顶元素 循环比较栈顶元素和当前循环遍历的
阅读更多...
LeetCode-042-接雨水
题目地址: https://leetcode-cn.com/problems/trapping-rain-water 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。
阅读更多...
代码随想录算法训练营day62 | 42. 接雨水、84.柱状图中最大的矩形
42. 接雨水 暴力解法 遍历每根柱子(第一个和最后一个不需要遍历,因为不可能存住水),找到当前柱子的左边最高柱子lHeight,右边最高柱子rHeight,当前柱子能存的水为min(min(lHeight, rHeight) - 当前柱子的高度, 0) class Solution:def trap(self, height: List[int]) -> int:result = 0for
阅读更多...
代码随想录训练营Day 63|力扣42. 接雨水、84.柱状图中最大的矩形
1.接雨水 代码随想录 代码:(单调栈) class Solution {public:int trap(vector<int>& height) {int result = 0;stack<int> st;st.push(0);for(int i = 1; i < height.size(); i++){if(height[i] < height[st.top()]){st.pus
阅读更多...
【LeetCode最详尽解答】42-接雨水 Trapping-Rain-Water
欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家! 链接: 42-接雨水 直觉 通过可视化图形来解决这个问题会更容易理解和解决。 给定输入: height = [0,1,0,2,1,0,1,3,2,1
阅读更多...
力扣42 接雨水
听说字节每人都会接雨水,我也要会哈哈哈 数据结构:数组 算法:核心是计算这一列接到多少雨水,它取决于它左边的最大值和右边的最大值,如下图第三根柱子能接到的雨水应该是第一根柱子高度和第五根柱子高度的最小值减去第三根柱子高度。 class Solution {public int trap(int[] height) {int n = height.length;if (n == 0) {
阅读更多...
代码随想录算法训练营Day59 | 503.下一个更大元素II 42. 接雨水
代码随想录算法训练营Day59 | 503.下一个更大元素II 42. 接雨水 LeetCode 503.下一个更大元素II 题目链接:LeetCode 503.下一个更大元素II 思路: class Solution {public:vector<int> nextGreaterElements(vector<int>& nums) {// 拼接一个新的numsvector<int>
阅读更多...
Day59 下一个更大元素Ⅱ + 接雨水
503 下一个更大元素Ⅱ 题目链接:503. 下一个更大元素 II - 力扣(LeetCode) 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不
阅读更多...
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: 输入
阅读更多...
Leecode42:接雨水
第一反应是按照高低这个思路来求解,因为可以把盛雨水的容器想成是从左往右的,遇到一个沟就存一点雨水。 这个思路 看了下题解,发现自己的思路其实没问题,确实是按照最高最低来求,但是这个地方太复杂了求的,每一格单独求才现实。 修改后成功ac,主要注意两点:一是最左端别忘记取,二是别忽视了可能中间的这个是最高的,导致不加一个判断条件的话会导致每列都被计算从而出现负值。 这个方法
阅读更多...
【Leetcode 42】 接雨水-单调栈解法
基础思路: 维持栈单调递减,一旦出现元素大于栈顶元素,就可以计算雨水量,同时填坑(弹出栈顶元素) 需要注意: 单调栈通常保存的是下标,用于计算距离 public static int trap2(int[] height) {int result = 0;int n = height.length;LinkedList<Integer> stack = new LinkedLis
阅读更多...
代码随想录算法训练营第六十二天|503.下一个更大元素Ⅱ、42.接雨水
文档链接:https://programmercarl.com/ LeetCode503.下一个更大元素Ⅱ 题目链接:https://leetcode.cn/problems/next-greater-element-ii/ 思路:乍一看跟下一个更大元素Ⅰ没什么不同,无非就是本题要循环数组了。 想法一:直接拼接一个nums在后面,遍历就可以了。 想法二:假装拼接一个,想法很巧妙。 单调
阅读更多...
单调栈|42.接雨水
力扣题目链接 class Solution {public:int trap(vector<int>& height) {if (height.size() <= 2) return 0; // 可以不加stack<int> st; // 存着下标,计算的时候用下标对应的柱子高度st.push(0);int sum = 0;for (int i = 1; i < height.size();
阅读更多...
力扣例题(接雨水)
链接: . - 力扣(LeetCode) 题目描述: 思路: 判断一块地方是否可以接到雨水,只需要判断他是否有左右边界使他可以接到水 左右边界分别为此处左侧的最高点和右侧的最高点 同时此处可接雨水的高度为左右两处边界的最小值-自身的高度 代码示例: 我们可以创建两个数组代表某处左右边界的高度 左边界的第一个值与右边界的最后一个值均可修改为0 以左边界为例: 从第二个点
阅读更多...
代码随想录算法训练营第59天|503.下一个更大元素II、42. 接雨水
503.下一个更大元素II 题目链接:下一个更大元素II 题目描述:给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1 。 解题
阅读更多...
【面试经典 150 | 数组】接雨水
文章目录 写在前面Tag题目来源解题思路方法一:预处理方法二:单调栈方法三:双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删: Tag:介绍本题牵涉到的知识点、数据结构;题目来源:贴上题目的链接,
阅读更多...