7双指针问题-接雨水2

给定 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 个单位的雨水(蓝色部分表示雨水)。 

//参考leetcode代码


int getSkyWater() {vector<int>  nums = { 0,1,0,2,1,0,1,3,2,1,2,1 };int left = 0;int right = nums.size() - 1;int leftMax = 0, rightMax = 0;int ans = 0;while (left<right)    {/** 当前两个指针不在相遇时*/leftMax = max(nums[left], leftMax);rightMax = max(nums[right],rightMax);if (nums[left]<nums[right]){ans += leftMax - nums[left];left++;}else {ans += rightMax - nums[right];right--;}}return ans;
}

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

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

相关文章

控制注塑机PQ比例阀放大器

控制不带电反馈的单或双比例电磁铁的博世力士乐&#xff08;Bosch Rexroth&#xff09;、伊顿威格士&#xff08;EATON Vickers&#xff09;、油研&#xff08;YUKEN&#xff09;、贺德克&#xff08;HYDAC&#xff09;、大金&#xff08;DAIKIN&#xff09;、不二越&#xff0…

ubuntu系统笔记导览

本笔记主要是为了方便查找和回顾学习&#xff0c;如果后续该系列更新时会同步更新在此导览中。 ubuntu系统中Error&#xff1a;No space left on device&#xff0c;解决办法&#xff1a;挂载大容量sda分区_unbuntu编译报错设备上没空间-CSDN博客 ubuntu系统&#xff08;2&am…

网安入门13-文件上传(htaccess,其他绕过)

空格绕过&#xff0c;点号绕过 Pass-07 直接上传肯定是失败的 把文件名1.php改成1.php.或1.php_(下划线为空格)&#xff0c;这种命名方式在windows系统里是不被允许的&#xff0c;所以需要在burp之类里进行修改&#xff0c;然后绕过验证后&#xff0c;会被windows系统自动去掉…

数据库-列的类型-浮点数,定点数-数据类型

类型占用空间负数取值范围正数取值范围FLOAT4 字节-3.4 x 10^383.4 x 10^38DOUBLE8 字节-1.8 x 10^3081.8 x 10^308DECIMAL(M,d)M2-1.8 x 10^3081.8 x 10^308 M表示数字的总位数&#xff0c;而d表示小数点后的位数 d不能大于m&#xff1b; 创建表 不指定精度 # 创建表 crea…

三维猴打印PCB外壳预留板壳间距

3D文件下单那里有一个“3D模型设计规范”&#xff0c;里面详细讲了设计时要考虑打印的参数细节。如果有其他的设计规范不了解的也可以进去查看&#xff0c;里面写的很详细。 这里是打印PCB外壳预留板壳间距相关说明&#xff1a; 设计模型为装配体&#xff0c;请务必满足装配最…

什么是springmvc(介绍)

什么是springmvc 1. 什么是springmvc2.项目中加入springmvc支持2.1 导入依赖2.2 springMVC配置文件2.3 web.xml配置2.4 中文编码处理 3. 编写一个简单的controller4. 视图层配置4.1 视图解析器配置4.2 静态资源配置4.2 编写页面4.3 页面跳转方式 5. SpringMVC处理请求的流程6. …

纯血鸿蒙「扩圈」100天,酝酿已久的突围

坦白讲&#xff0c;去年参加华为开发者大会看到HarmonyOS NEXT&#xff08;仅运行鸿蒙原生应用&#xff0c;所以也称作「纯血鸿蒙」&#xff09;的时候&#xff0c;小雷也没料想到鸿蒙原生应用生态的发展速度会如此之快。 9月25日&#xff0c;华为正式对外宣布启动HarmonyOS NE…

【C语言】指针——从底层原理到应用

C语言指针-从底层原理到花式技巧&#xff0c;用图文和代码帮你讲解透彻 目录 一、前言二、变量与指针的本质 1. 内存地址2. 32位与64位系统3. 变量4. 指针变量5. 操作指针变量 5.1 指针变量自身的值5.2 获取指针变量所指向的数据5.3 以什么样的数据类型来使用/解释指针变量所指…

Python学习笔记-使用Anaconda+VSCode配置开发环境

文章目录 概述一、安装Anaconda1.1 下载软件1.2 安装anaconda1.3 配置环境 二、配置虚拟环境2.1 使用conda创建一个新的虚拟环境2.1.1 使用search指令查看支持的python的版本&#xff1a;2.1.2 使用create创建指定版本的虚拟环境&#xff1a;2.1.3 使用env list查看虚拟环境列表…

2024年软考选哪科?什么时候考试?

软考是指计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;是由中国工业和信息化部&#xff08;前身为工信部&#xff09;以及人力资源和社会保障部&#xff08;前身为人社部&#xff09;领导下的国家级考试。 软考共设有27个不同的资格类别&#xf…

Redis 为什么是单线程的?

Redis 为什么是单线程的&#xff1f; Redis 之所以选择单线程模型&#xff0c;主要是出于性能和设计上的考虑。以下是一些解释为什么 Redis 采用单线程模型的原因&#xff1a; 内存密集型操作&#xff1a; Redis 主要用于执行内存密集型操作&#xff0c;例如读写操作都在内存中…

8大基本类型的转换和运算符

类型间的转换&#xff1a; 基本类型由小到大依次为&#xff1a; ​ byte----short----int----long----float----double ​ char---- 两种方式&#xff1a; - 自动/隐式类型转换&#xff1a;小类型到大类型 - 强制类型转换&#xff1a;大类型到小类型 ​ 语法&am…

解密TF-IDF:打开文本分析的黑匣子

1.TF-IDF概述 TF-IDF&#xff0c;全称是“Term Frequency-Inverse Document Frequency”&#xff0c;中文意为“词频-逆文档频率”。这是一种在信息检索和文本挖掘中常用的加权技术。TF-IDF用于评估一个词语对于一个在语料库中的文件集或一个语料库中的其中一份文件的重要程度…

BigDecimal使用记录

在公司经费这块用到了BigDecimal类&#xff0c;特此整理记录一下。 一、BigDecimal简介&#xff1a; float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算&#xff0c;这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而&a…

vulhub中的Apache HTTPD 多后缀解析漏洞详解

Apache HTTPD 多后缀解析漏洞 1.查看python版本 这里python版本很重要&#xff0c;因为版本过低可能会导致后面的结果运行不成功 这里我就遇到了因为版本过低而执行不了docker-compose up -d的情况 查看python版本 cd /usr/bin ls -al python* 当版本过低时安装高版本的 …

_Incapsula_Resource与Rc4混淆分析

一、获得混淆js 这么一个地址 https://www.interasia.cc/_Incapsula_Resource?SWJIYLWA5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3 浏览器打开这个地址 复制这个js&#xff0c;到浏览器调试 先格式化查看&#xff0c;也就是一个eval函数执行b函数 …

base64 图片进行编码、解码;api调用

1、base64 图片进行编码、解码 编码 import base64# 假设您有一个图像文件&#xff0c;例如 image.jpg with open(r"C:\Users\l****1686722996428308480-1 (1).jpg", rb) as image_file:# 读取图像文件的二进制数据image_data image_file.read()# 将二进制数据编码…

C语言基础语法跟练

题源&#xff1a;牛客网 1、输出"Hello Nowcoder!"。开始你的编程之旅吧。 #include <stdio.h>int main() {printf("Hello Nowcoder!");return 0; } 2、KiKi学会了printf在屏幕输出信息&#xff0c;他想输出一架小飞机。请帮他编写程序输出这架小…

超实用的 Python 库之lxml使用详解

概要 XML&#xff08;可扩展标记语言&#xff09;和HTML&#xff08;超文本标记语言&#xff09;是广泛用于数据交换和网页构建的标记语言。在Python中&#xff0c;有许多库可以用来解析和处理XML和HTML文档&#xff0c;其中最强大和常用的之一是lxml。lxml是一个高性能、功能…