[力扣 Hot100]Day7 接雨水

题目描述

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
在这里插入图片描述
出处

思路

就是寻找“凹”形区间,找使得左右两端点为最大的两个值的最长区间。这里我分了两种情况,右边大于等于左边和右边小于左边,分别是在if和else if中。

代码

class Solution {
public:int trap(vector<int>& height) {int n=height.size();if(n==1)return 0;int left=0,right;int sum=0;int maxl,maxr,rindex;while(left<n-1) {right=left+1;if(height[right]>height[left]){left++;continue;//此时left不是合法左边}maxl=height[left];maxr=height[right];rindex=0;while (right<n&&height[right]<height[left]){if(height[right]>maxr){maxr=height[right];rindex=right;}right++;}if(right-left>1&&right<n){//右边大于等于左边int t=height[left];for(int i=left+1; i<right; i++)sum+=(t-height[i]);left=right;}else if(rindex!=0){//右边小于左边int t=height[rindex];for(int i=left+1; i<rindex; i++)sum+=(t-height[i]);left=rindex;}elseleft++;}return sum;}
};

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

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

相关文章

智慧校园安防系统功能 平安校园、宿舍管理的智慧校园解决方案---豌豆云

从“校园空间”出发&#xff0c;贴合“教学与教务”管理诉求&#xff0c;以“人脸识别”技术作为“身份管理”的立足点&#xff0c;融合“物联网和大数据”多项能力。 打造涵盖“通行考勤、平安校园、宿舍管理、会议签到和人脸支付”在内的智慧校园解决方案&#xff0c;助力校…

MySQL深度分页优化问题

☆* o(≧▽≦)o *☆嗨~我是小奥&#x1f379; &#x1f4c4;&#x1f4c4;&#x1f4c4;个人博客&#xff1a;小奥的博客 &#x1f4c4;&#x1f4c4;&#x1f4c4;CSDN&#xff1a;个人CSDN &#x1f4d9;&#x1f4d9;&#x1f4d9;Github&#xff1a;传送门 &#x1f4c5;&a…

C语言基础入门48篇_00_如何学习一门新语言(针对初学者)

程序员之道&#xff0c;万变不离其宗&#xff0c;说相声讲究的是说、学、逗、唱&#xff0c;学习程序最快也是最好的办法就是&#xff1a;过、抄、仿、改、调、看、练、创、悟&#xff1a; 文章目录 1、过&#xff1a;2、抄代码&#xff1a;3、模仿改&#xff1a;4、勤调试&…

RenderDoc 增加 DXBC to HLSL 的 shader viewer

目的 便于后续抓帧出来的 DXBC 转为 HLSL&#xff0c;提高可读性 原因 编写的原因&#xff0c;因为按照网上的大佬的BLOG&#xff0c;发现某个 etnlGD/HLSLDecompiler 上的工具使用上是有问题的 &#xff08;有可能是以前的 render doc 版本没有问题&#xff0c;而我现在是在…

字符串算法总结|双指针的总结

在字符串旋转操作中主要是运用多次反转&#xff0c;最后得到结果。 例如反转字符串里的单词&#xff1a;可以先进行整体反转&#xff0c;最后进行单词反转。 例如从字符串的倒数第k位开始反转&#xff0c;此时可以先整体反转&#xff0c;在局部反转&#xff0c;在反转时可以用…

KubeSphere平台使用

KubeSphere官网地址&#xff1a;https://kubesphere.io/zh/ KubeKey一键部署K8S集群&#xff1a;https://kubesphere.io/zh/docs/v3.4/installing-on-linux/introduction/multioverview/ 一台master node&#xff08;初始化主节点&#xff09;、两台 work node&#xff08; joi…

SCI好看的配图-汇总

文章目录 图源&#xff1a;Sustainable Cities and Society【期刊】条形图2热力图-地图 图源&#xff1a;Sustainable Cities and Society【期刊】 引自&#xff1a;A machine learning-driven spatio-temporal vulnerability appraisal based on socio-economic data for COV…

如何编写一个好的测试用例?才能防止背黑锅

如何编写一个好的测试用例&#xff1f;才能防止背黑锅 什么是测试用例&#xff1f;一个好的测试用例包含什么&#xff1f;测试用例的编写思路总结 什么是测试用例&#xff1f; 在这之前&#xff0c;思考一个问题&#xff0c;下面这个简单的QQ登录页面&#xff0c;一共又多少条…

关于运维·关于Zabbix监控平台的面试点

目录 引言&#xff1a;明人不说暗话&#xff0c;今天分享几个在面试的时候常被问到关于Zabbix监控平台的面试点 1、zabbix的优点 2、zabbix的缺点 3、zabbix的监控模式 4、zabbix自定义监控怎么做 5、zabbix的自动发现功能 6、zabbix分布式监控有什么特点 引言&#xff1…

代码随想录算法训练营第三十八天| 509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯

代码随想录算法训练营第三十八天| 509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯 题目 509.斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。…

专业130+总分380+哈尔滨工程大学810信号与系统考研经验水声电子信息与通信

今年专业课810信号与系统130&#xff0c;总分380顺利考上哈尔滨工程大学&#xff0c;一年的努力终于换来最后的录取&#xff0c;期中复习有得有失&#xff0c;以下总结一下自己的复习经历&#xff0c;希望对大家有帮助&#xff0c;天道酬勤&#xff0c;加油&#xff01;专业课&…

入门设计者不容错过!5款网页原型设计工具推荐!

即时设计 即时设计是一种支持团队合作的原型设计工具&#xff0c;不限于设备和人群的使用&#xff0c;浏览器可以打开和使用。在即时设计中&#xff0c;您可以从0到1创建一个Web页面原型&#xff0c;具有钢笔、矩形、矢量编辑、轮廓、文本、色彩填充等设计功能&#xff0c;足以…

达梦数据库入门语法:从基础到进阶的指南

目录 博客前言&#xff1a; 达梦数据库语法介绍 一.创建表空间 1.图形化创建 2.语法创建 ​编辑​编辑 3.修改表空间参数 图形化修改 ​编辑​编辑 语法修改 4.设置加密算法、密码 二.创建用户 1.图形化 2.sql执行 ​编辑 3.授予权限 授予用户 DBA 权限 授予用户…

三、RHCE--时间服务器

三、RHCE--时间服务器 一、简介二、软件安装三、配置时间服务器客户端四、配置时间服务器服务端五、示例&#xff1a; 一、简介 NTP 是网络时间协议&#xff08;Network Time Protocol&#xff09;的简称&#xff0c;通过 udp 123 端口进行网络时钟同步。 Chrony是一个开源自由…

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式&#xff1a; deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…

将 SQL Server 2022 数据库备份到 MinIO

Microsoft 在将 S3 连接器和 Polybase 添加到 SQL Server 2022 时取得了重大飞跃。因此&#xff0c;企业可以利用他们保存到对象存储中的大量数据&#xff0c;并使用它来丰富 SQL Server 表。他们还可以利用对象存储来备份 SQL Server&#xff0c;这是开放性和云原生灵活性的又…

用bat(DOS命令)实现自动网络配置

bat文件创建方法 先创建为其它文件&#xff08;比如a1.txt&#xff09;&#xff0c;然后修改扩展名为.bat。最终得到a1.bat文件 “根据用户需要切换网络配置”的工具 下面代码根据需求自行修改 echo off rem 强制获取管理员权限 %1 mshta vbscript:CreateObject("Shell…

UE4 添加按键输入事件 并在蓝图中使用按键输入节点

绑定按键 选择Edit/ProjectSettings/Engine/Input 在bindings中可以选择添加ActionMappings或则AxisMappings ActionMappings:按键事件&#xff0c;有按下和抬起两个事件&#xff0c;需要分别用两个键触发AxisMappings:输入事件&#xff0c;返回值为float&#xff0c;对于键盘…

每日OJ题_算法_滑动窗口⑤_力扣904水果成篮

目录 力扣904. 水果成篮 解析及代码1&#xff08;使用容器&#xff09; 解析及代码2&#xff08;开数组&#xff09; 力扣904. 水果成篮 904. 水果成篮 - 力扣&#xff08;LeetCode&#xff09; 难度 中等 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这…

Elastic Stack(1):Elastic Stack简介

1 简介 ELK是一个免费开源的日志分析架构技术栈总称&#xff0c;官网https://www.elastic.co/cn。包含三大基础组件&#xff0c;分别是Elasticsearch、Logstash、Kibana。但实际上ELK不仅仅适用于日志分析&#xff0c;它还可以支持其它任何数据搜索、分析和收集的场景&#xf…