Leetcode第42题(接雨水)

简介: 这篇文章介绍了解决LeetCode第42题“接雨水”问题的不同算法,包括双指针法和单调栈法,并提供了C++的代码实现。

题目描述:

给定 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 = [4,2,0,3,2,5] 输出:9

class Solution {
public:
    int trap(vector<int>& height) {
        int l = 0,r = height.size() - 1;
        int lmax = 0,rmax = 0,ans = 0;
        while(l < r){
            lmax = max(lmax,height[l]);
            rmax = max(rmax,height[r]);
            if(lmax < rmax){
                ans += lmax - height[l];
                l++;
            }else{
                ans += rmax - height[r];
                r--;
            }
        }
        return ans;
    }
};
AI 代码解读

使用双指针的方式遍历数组, 并且使用lmax与rmax维护当前左边最大高度和右边最大高度, 然后将能接上的雨水累加到ans中

目录
打赏
0
0
0
0
25
分享
相关文章
FileInfo的重要属性和方法
FileInfo类提供与静态File类相同的功能,但是您可以通过手动编写用于从文件读取或写入字节的代码来对文件的读/写操作具有更多控制权。
|
9月前
LeetCode第39题(组合总和)
LeetCode第39题要求找出一个无重复元素整数数组中所有和为给定目标数的不同组合,可以使用回溯法解决。
85 0
【博士每天一篇论文-综述】Deep Echo State Network (DeepESN)_ A Brief Survey
本文是2017年C. Gallicchio和A. Micheli在ArXiv上发表的综述论文,详细介绍了深度回声状态网络(DeepESN)的架构、属性、动力学分析及其在时间序列预测等领域的应用,并探讨了DeepESN在处理多时间尺度信息方面的优势和潜力。
185 2
【博士每天一篇论文-综述】Deep Echo State Network (DeepESN)_ A Brief Survey
ERP系统中的固定资产管理
【7月更文挑战第25天】 ERP系统中的固定资产管理
551 3
在 JavaScript 中,如何使用 Promise 处理异步操作?
通过以上方式,可以使用Promise来有效地处理各种异步操作,使异步代码更加清晰、易读和易于维护,避免了回调地狱的问题,提高了代码的质量和可维护性。
【unity小技巧】手戳代码程序化绘制地形Terrain树和预制体物品、动物
【unity小技巧】手戳代码程序化绘制地形Terrain树和预制体物品、动物
235 0
Spring事务失效的8种场景
本文总结了使用 @Transactional 注解时事务可能失效的几种情况,包括数据库引擎不支持事务、类未被 Spring 管理、方法非 public、自身调用、未配置事务管理器、设置为不支持事务、异常未抛出及异常类型不匹配等。针对这些情况,文章提供了相应的解决建议,帮助开发者排查和解决事务不生效的问题。
359 1
C语言与嵌入式系统:嵌入式C编程基础。
C语言与嵌入式系统:嵌入式C编程基础。
理解不同编程语言类型安全的需求
【7月更文挑战第12天】本文介绍编程语言类型系统与语言设计密不可分,影响编程习惯和语言安全。微服务架构允许跨语言技术栈,每个服务都能用最适合的平台构建,强调代码质量原则,以实现高效解决方案。
150 0
【经典算法】LeetCode 283. 移动零(Java/C/Python3/Go实现含注释说明,Easy)
【经典算法】LeetCode 283. 移动零(Java/C/Python3/Go实现含注释说明,Easy)
139 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问