当前位置: 首页 > article >正文

Leetcode42. 接雨水

讲的好的视频讲解
【很难想象这up刷题的精神状态 Leetcode42. 接雨水】
https://www.bilibili.com/video/BV1MC411n7Af/?share_source=copy_web&vd_source=afbacdc02063c57e7a2ef256a4db9d2a
rm是right max的意思,lm是left max的意思
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: S ( 1 ) S(1) S(1)

class Solution {
public:
    int trap(vector<int>& height) {
        int res = 0 , l = 0,r = height.size() - 1 ,lm = 0 ,rm = 0;
        while(l < r){
            lm = max(lm,height[l]);
            rm = max(rm , height[r]);
            if(lm < rm)
                res += lm - height[l++];//柱子宽度是1,面积计算过程省略了*1的步骤
            else
                res += rm - height[r--];
        }
        return res;
    }
};

http://www.kler.cn/news/314888.html

相关文章:

  • C#(.NET FrameWork库)逆向基础流程(纯小白教程)
  • ETCD学习使用
  • VUE面试题(单页应用及其首屏加载速度慢的问题)
  • Mac 搭建仓颉语言开发环境(Cangjie SDK)
  • 蓝桥杯【物联网】零基础到国奖之路:九. I2C
  • 开源即时通讯IM框架MobileIMSDK的H5端技术概览
  • Elasticsearch 下载安装及使用总结
  • 基于51单片机的物联网安防系统(Proteus+Python脚本+阿里云)
  • 等保测评:企业如何构建安全的网络架构
  • openEuler系统安装内网穿透工具实现其他设备公网环境远程ssh连接
  • OpenCV基础入门30讲(Python)——第三讲 图像对象的创建与赋值
  • 正点原子RK3588(二)——lenet测试和modelzoo模型
  • linux系统蓝牙框架
  • 查看VSFTPD配置的服务器路径和linux系统有哪些用户
  • 关于加强银行业保险业移动互联网应用程序管理的通知
  • 分布式光伏充换电站相关建议
  • 【MySQL】—— mysqlcheck表维护程序
  • 数据结构和算法|排序算法系列(五)|排序总结(时间复杂度和是否稳定)
  • 前端-js例子:定时器
  • HarmonyOS开发实战( Beta5.0)使用GTest测试C++案例
  • QT开发: Qt 框架中字符串核心类QString详解
  • ARM/Linux嵌入式面经(三五):诺瓦星云提前批
  • dpdk课程学习之练习笔记八(dpvs的了解)
  • unity3d入门教程九
  • 【Java】全面理解Java8特性
  • SpinalHDL之结构(三)
  • JavaScript高级—— js 是单线程运行的
  • 无人机+自组网:中继通信增强技术详解
  • 论文解读《MmAP : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning》
  • C#开发基础之单例模式下的集合数据,解决并发访问读写冲突的问题