LeetCode(16)接雨水【数组/字符串】【困难】

news2024/11/26 12:44:34

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 42. 接雨水

1.题目

给定 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

提示:

  • n == height.length
  • 1 <= n <= 2 * 10^4
  • 0 <= height[i] <= 10^5

2.答案

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

        // 找到最大值
        int max = Arrays.stream(height).max().getAsInt();
        int maxPosition = 0;
        int leftH = 0;
        int water = 0;
        // 从左往右
        for (int i = 0; i < height.length; i++) {
            if (height[i] == max) {
                maxPosition = i;
                break;
            }
            leftH = Math.max(leftH, height[i]);
            if (height[i] < leftH) {
                water += leftH - height[i];
            }
        }
        // 从右往左
        int rightH = 0;
        for (int i = height.length - 1; i >= maxPosition; i--) {
            rightH = Math.max(rightH, height[i]);
            if (height[i] < rightH) {
                water += rightH - height[i];
            }
        }
        return water;
    }
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

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

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

相关文章

PbootCMS 应用快速迁移至浪潮信息 KeyarchOS 云服务器

本文我们以 PbootCMS 应用为例&#xff0c;详细介绍如何使用 X2Keyarch 迁移工具将其从 CentOS 系统迁移到浪潮信息 KeyarchOS 系统。 背景介绍 众所周知&#xff0c;CentOS 是最流行的红帽克隆版&#xff0c;因为免费&#xff0c;所以它的安装量甚至比红帽本身要大得多。本来…

Feature Pyramid Networks for Object Detection(2017.4)

文章目录 Abstract1. Introduction3. Feature Pyramid NetworksBottom-up pathwayTop-down pathway and lateral connections 7. Conclusion FPN Abstract 特征金字塔是识别系统中检测不同尺度物体的基本组成部分。但最近的深度学习对象检测器避免了金字塔表示&#xff0c;部分…

python科研绘图:绘制X-bar图

目录 1.X-bar 图的基本概念 2.X-bar 图的绘制过程 3.X-bar 图的优势 4.X-bar 图的绘制 1.X-bar 图的基本概念 X-bar控制图是一种统计工具&#xff0c;用于监控和控制生产过程中的质量变量。它是过程能力分析和统计过程控制&#xff08;SPC&#xff0c;Statistical Process…

微机原理_9

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。 1.当运算结果的最高位为1时&#xff0c;标志位(&#xff09; A. CF1 B. OF1 C. SF1 D. ZF1 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可…

构造函数和初始化列表的关系和区别【详解】

构造函数和初始化列表关系和区别&#xff0c;以及为什么有初始化列表&#xff0c;和它的好处 一、构造函数和初始化列表的关系和区别二、为什么有初始化列表三、使用初始化列表的好处 一、构造函数和初始化列表的关系和区别 百度百科这样定义初始化列表&#xff1a;与其他函数…

使用手机作为电脑的麦克风和摄像头外设

工具 Iriun Iriun 电脑端安装&#xff1a;Iriun Android: Iriun 4K Webcam for PC and Mac - Apps on Google Play Apple: Iriun Webcam for PC and Mac on the App Store 基础功能免费&#xff0c;普通使用足够了。 付费功能&#xff1a; 使用 这里有介绍&#xff1a…

【Java】详解多线程同步的三种方式

&#x1f33a;个人主页&#xff1a;Dawn黎明开始 &#x1f380;系列专栏&#xff1a;Java ⭐每日一句&#xff1a;等风来&#xff0c;不如追风去 &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️ 文章目录 一.&#x1f510;线…

MAC地址_MAC地址格式_以太网的MAC帧_详解

MAC地址 全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址 一.网络适配器(网卡) 要将计算机连接到以太网&#xff0c;需要使用相应的网络适配器(Adapter)&#xff0c;网络适配器一般简称为“网卡”。在计算机内部&#xff0c;网卡与CPU之间的通信&…

【UE C++】读取文本文件,并解析

目录 0 引言1 空格 制表符 换行符1.1 定义1.2 查看字符 2 实战 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事非经过不知难&#xff01;&#x…

C进阶---字符函数和字符串函数

目录 一、长度不受限限制的字符串函数 1.1strlen 1.2strcpy 1.3strcat 1.4strcmp 二、长度受限制的字符串函数 2.1strncpy 2.2strncat 2.3strncmp 三、其他字符串函数 3.1strstr 3.2strtok 3.3sterror 3.4memcpy 3.5memmove 3.6memcmp 四、字符分类函…

c语言:如何打印杨辉三角形。

题目&#xff1a;打印杨辉三角形 如&#xff1a; 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 思路和代码&#xff1a; //由规律不难得出&#xff0c;每行首个数字和最后最后一个数字都为1&#xff0c;其余数字是这列的上一个数字和前一个数字的和组成&#xff0c;由此推出代码 #de…

Openssl X509 v3 AuthorityKeyIdentifier实验与逻辑分析

Openssl是X509的事实标准&#xff0c;目前主流OS或个别安全性要求较高的设计场景&#xff0c;对X509的证书链验证已经不在停留在只从数字签名校验了&#xff0c;也就是仅仅从公钥验签的角度&#xff0c;在这些场景中&#xff0c;往往还会校验AuthorityKeyIdentifier和SubjectKe…

【文件包含】metinfo 5.0.4 文件包含漏洞复现

1.1漏洞描述 漏洞编号————漏洞类型文件包含漏洞等级⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐漏洞环境windows攻击方式 MetInfo 是一套使用PHP 和MySQL 开发的内容管理系统。MetInfo 5.0.4 版本中的 /metinfo_5.0.4/about/index.php?fmodule文件存在任意文件包含漏洞。攻击者可利用漏洞读取网…

第十九章 Java绘图

第十九章 java绘图 19.1 java绘图类 绘图时高级程序设计中非常重要的技术&#xff0c;例如&#xff0c;应用程序可以绘制闪屏图片&#xff0c;背景图片&#xff0c;组件外观等等&#xff0c;Web程序可以绘制统计图&#xff0c;数据库存储图片资源等&#xff0c;真骨耸为“一…

服务名无效。 请键入 NET HELPMSG 2185以获得更多的帮助

遇到的问题是MySQL服务没有。 因为net start 服务名&#xff0c;启动的是win下注册的服务。此时&#xff0c;我系统中并没有注册mysql到服务中。即下面没有mysql服务。 mysqld --install net start mysql

2023.11.15 每日一题(AI自生成应用)【C++】【Python】【Java】【Go】 动态路径分析

目录 一、题目 二、解决方法 三、改进 一、题目 背景&#xff1a; 在一个城市中&#xff0c;有数个交通节点&#xff0c;每个节点间有双向道路相连。每条道路具有一个初始权重&#xff0c;代表通行该路段的成本&#xff08;例如时间、费用等&#xff09;。随着时间的变化&am…

nodejs+vue黄河风景线旅游网站的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

本文首先对该系统进行了详细地描述&#xff0c;然后对该系统进行了详细的描述。管理人员增加了系统首页、个人中心、用户管理、景点分类管理、景点简介管理、旅游路线管理、文章分类管理、公告文章管理、系统管理理等功能。这套黄河风景线旅游网站是根据当前的现实需要&#xf…

SystemVerilog学习 (5)——接口

一、概述 验证一个设计需要经过几个步骤&#xff1a; 生成输入激励捕获输出响应决定对错和衡量进度 但是&#xff0c;我们首先需要一个合适的测试平台&#xff0c;并将它连接到设计上。 测试平台包裹着设计,发送激励并且捕获设计的输出。测试平台组成了设计周围的“真实世界”,…

【miniQMT实盘量化3】获取历史行情数据

前言 上篇文章&#xff0c;介绍了如何与miniQMT建立连接&#xff0c;这篇开始&#xff0c;我们会深入探讨miniQMT的每个功能接口。首先&#xff0c;从获取历史数据开始。 迅投的官方文档目前已经更新&#xff0c;miniQMT对应原生API部分 接口汇总 与历史行情数据相关的接口&a…

Solidity案例详解(四)投票智能合约

该合约为原创合约&#xff0c;功能要求如下 在⼀定时间能进⾏投票超过时间投票截⽌&#xff0c;并投赞同票超过50%则为通过。 使⽤safeMath库&#xff0c;使⽤Owner 第三⽅库拥有参与投票权的⽤户在创建合约时确定Voter 结构 要有时间戳、投票是否同意等&#xff1b;struct 结构…