力扣42 接雨水

news2024/12/24 8:16:45

听说字节每人都会接雨水,我也要会哈哈哈

数据结构:数组
算法:核心是计算这一列接到多少雨水,它取决于它左边的最大值和右边的最大值,如下图第三根柱子能接到的雨水应该是第一根柱子高度和第五根柱子高度的最小值减去第三根柱子高度。
在这里插入图片描述

class Solution {
    public int trap(int[] height) {
        int n = height.length;
        if (n == 0) {
            return 0;
        }

        int[] leftMax = new int[n];
        leftMax[0] = height[0];
        for (int i = 1; i < n; ++i) {
            leftMax[i] = Math.max(leftMax[i - 1], height[i]);
        }

        int[] rightMax = new int[n];
        rightMax[n - 1] = height[n - 1];
        for (int i = n - 2; i >= 0; --i) {
            rightMax[i] = Math.max(rightMax[i + 1], height[i]);
        }

        int ans = 0;
        for (int i = 0; i < n; ++i) {
            ans += Math.min(leftMax[i], rightMax[i]) - height[i];
        }
        return ans;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1815011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DNS响应时间分析

目录 什么是DNS响应时间&#xff1f; 为什么DNS响应时间很重要&#xff1f; AnaTraf流量分析仪DNS分析 在当今数字化时代&#xff0c;网络的稳定性和性能对企业的运营至关重要。作为IT运维人员&#xff0c;我们的职责是确保网络顺畅运行&#xff0c;而DNS&#xff08;域名系…

我国喷砂机产量逐渐增长 金属加工为最大应用领域

我国喷砂机产量逐渐增长 金属加工为最大应用领域 喷砂是通过压缩空气作为动力形成高速喷射束&#xff0c;将粉状喷料高速喷射到需处理工件表面&#xff0c;使得工件外表面的外表发生变化&#xff0c;起到清理和粗化基体表面的作用。喷砂机是喷砂设备的核心组成部分&#xff0c;…

网站选择定制化的优缺点

网站定制化要明白的是&#xff0c;先有需求&#xff0c;然后在按照每一个需求去进行任务开发。 一.优点&#xff1a; 1.能够落实到每一个需求细节里面&#xff0c;可以很好的掌握需求的实现。 2.网站的所有使用权都在自己的手里&#xff0c;不需要第三方托管&#xff0…

Linux 防火墙 Firewall 和 Iptables 的使用

如果我们在Linux服务器的某个端口上运行了个服务&#xff0c;需要外网能访问到&#xff0c;就必须通过防火墙将服务运行端口给开启。Linux中有两种防火墙软件&#xff0c;CentOS7.0以上使用的是firewall&#xff0c;CentOS7.0以下使用的是iptables&#xff08;使用较少且不建议…

代码签名证书一年的价格是多少?如何申请

代码签名证书的价格因品牌、类型及所提供的服务等因素而有所不同&#xff0c;价格通常在数千元至万余元人民币之间不等。 不同类型代码签名证书价格差异 个人代码签名证书&#xff1a;个人代码签名证书是最基础的类型&#xff0c;适用于个体开发者&#xff0c;其价格较为经济…

通信原理眼图硬件实验

一、实验目的 1. 了解眼图与系统抗噪性能、码间干扰之间的关系及实际意义&#xff1b; 2. 掌握眼图观测的方法并记录研究&#xff1b; 二、实验内容 1. 观测ASK调制系统眼图并记录分析&#xff1b; 2. 观测FSK调制系统眼图并记录分析&#xff1b; 三、实验器材 1. 双踪示…

训练大模型自动在RAG和记忆间选择

现如今&#xff0c;检索增强生成(Retrieval-augmented generation&#xff0c;RAG)管道已经能够使得大语言模型(Large Language Models&#xff0c;LLM)在其响应环节中&#xff0c;充分利用外部的信息源了。不过&#xff0c;由于RAG应用会针对发送给LLM的每个请求&#xff0c;都…

RabbitMQ-Stream(高级详解)

文章目录 什么是流何时使用 RabbitMQ Stream&#xff1f;在 RabbitMQ 中使用流的其他方式基本使用Offset参数chunk Stream 插件服务端消息偏移量追踪示例 示例应用程序RabbitMQ 流 Java API概述环境创建具有所有默认值的环境使用 URI 创建环境创建具有多个 URI 的环境 启用 TLS…

C# WinForm ——31 32 Menustrip菜单栏

1. 介绍 菜单控件&#xff0c;包含多个菜单项的菜单容器 主菜单下面可以有子菜单&#xff0c;子菜单下面可以有下一级子菜单 2. 常用属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到Enabled控件是否启用Dock定义要绑定到容器的控件边框&#xff0c;默认是t…

最短路:Bellman-Ford

最短路&#xff1a;Bellman-Ford 题目描述参考代码 题目描述 输入样例 3 3 1 1 2 1 2 3 1 1 3 3输出样例 3参考代码 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510, M 10010;int n, m, k; int dist…

Master-Worker 架构的灰度发布难题

作者&#xff1a;石超 一、前言 Master-Worker 架构是成熟的分布式系统设计模式&#xff0c;具有集中控制、资源利用率高、容错简单等优点。我们数据中心内的几乎所有分布式系统都采用了这样的架构。 &#xfeff; 我们曾经发生过级联故障&#xff0c;造成了整个集群范围的服…

使用 C# 进行面向对象编程:第 9 部分

使用 OOP 的用户活动日志 应用程序背后的关键概念 在这一部分中&#xff0c;我们将使用之前学到的一些 OOP 概念。我们将创建一个小型应用程序。在继续之前&#xff0c;请阅读我的文章user-activity-log-using-C-Sharp-with-sql-server/。在本课程中&#xff0c;我们将再次使…

Python实现base64加密/解密

实现原理&#xff1a;导入base64库 一、加密 import base64# 加密 username "admin" base64_username base64.b64encode(username.encode(utf-8)).decode() print(base64_username) password "123" base64_password base64.b64encode(password.encod…

Vue23-过滤器

一、效果图 二、好用的时间戳三方工具 该三方工具比较大 推荐使用 dayjs的用法&#xff1a; 三、过滤器的使用 3-1、计算属性实现 3-2、methods函数实现 3-3、过滤器filters属性实现 过滤器的本质就是函数&#xff01;&#xff01;&#xff01; 1、过滤器-未传参 默认将管道…

MySQL常用命令(Linux环境)

一、数据定义语句(DDL) 数据库操作 ●登录数据库&#xff1a; mysql -uroot -proot ●创建数据库&#xff1a; create database test ●查看所有数据库&#xff1a; show databases ●选择数据库并使用&#xff1a; use test ●查看所有数据表&#xff1a; show tabl…

【MySQL】性能分析

https://www.bilibili.com/video/BV1Kr4y1i7ru/?p78 查看执行频次 查看当前数据库的 INSERT, UPDATE, DELETE, SELECT 访问频次&#xff1a; SHOW GLOBAL STATUS LIKE Com_______; 或者 SHOW SESSION STATUS LIKE Com_______; 慢查询日志 慢查询日志记录了所有执行时间超过指…

Vue2后台管理:项目开发全流程(二)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:Vue2后台管理&#xff1a;项目开发全流程(二) 目录 功能实现 8、会员用户管理 ①使用数据模拟文…

国标GB/T 28181详解:事件通知流程详细解释

目录 一、定义 二、特点和作用 1、系统事件的实时性 2、整个系统数据变化的协同性 3、智能化应用 4、可管理性 5、安全性 6、灵活和实用性 三、基本要求 1、事件订阅通知基本要求 2、关键要素 四、命令流程 1、流程图 2、流程描述 五、协议接口 六、实际应用效…

大众点评全国亲子POI采集46万家-2024年5月底

大众点评全国亲子POI采集46万家-2024年5月底 店铺POI点位示例&#xff1a; 店铺id H1IZ2B7vPGVGfbFJ 店铺名称 儿童天堂旗舰店(全国总店) 十分制服务评分 9.2 十分制环境评分 9.1 十分制划算评分 9.1 人均价格 4624 评价数量 17003 店铺地址 八一路金渝大厦1楼&#x…

流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-WS的详细介绍、应用场景及对比

一、前言 HTTP-FLV、WS-FLV、HTTP-TS 和 WS-TS 是针对 FLV 和 TS 格式视频流的不同传输方式。它们通过不同的协议实现视频流的传输&#xff0c;以满足不同的应用场景和需求。接下来我们对这些流媒体传输协议进行剖析。 二、传输协议 1、HTTP-FLV 介绍&#xff1a;基于 HTTP…