2024-5-9——给植物浇水 II

2024-5-9

      • 题目来源
      • 我的题解
        • 方法一 双指针

题目来源

力扣每日一题;题序:2105

我的题解

方法一 双指针

使用两个指针t1和t2记录Alice和Bob当前还未浇水的植物,使用变个变量cap1和cap2表示Alice和Bob当前剩余的水量。
两端同时浇水,若不能同时浇水则需要判断哪一个需要回去取水,并将结果加1;
若浇水到两个同时浇一个植物,判断是否其中一人可以浇完,若可以则不再取水;若不可以,则需要判断哪个剩余的水多,剩的多的不再取水,由剩的少的回去取水

时间复杂度:O(n)
空间复杂度:O(1)

public int minimumRefill(int[] plants, int capacityA, int capacityB) {int res=0;int t1=0,t2=plants.length-1;int cap1=capacityA;int cap2=capacityB;while(t1<=t2){//两个都还有足够的水while(t1<=t2&&(cap1>=plants[t1]&&cap2>=plants[t2])){//表示已经把所有植物浇完if(t1==t2){t1++;break;}//Alice足够浇水当前植物cap1-=plants[t1];t1++;//Bob足够浇水当前植物cap2-=plants[t2];t2--;}//还未浇完if(t1<t2){//Alice的水不够if(cap1<plants[t1]){res+=1;cap1=capacityA;}//Bob的水不够if(cap2<plants[t2]){res+=1;cap2=capacityB;}//已经到达同一个位置}else if(t1==t2){//若两个中有其一的能够浇完if(cap1>=plants[t1]||cap2>=plants[t2]){break;}//到达最后一个植物,Alice的水比Bob多或者相同if(cap1>=cap2){plants[t1]-=cap1;cap1=capacityA;//到达最后一个植物,Alice的水比Bob少}else{plants[t2]-=cap2;cap2=capacityB;}res+=1;}}return res;}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

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

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

相关文章

渗透测试一些知识点

1、如果提示缺少参数&#xff0c;如{msg&#xff1a;params error}&#xff0c;可尝使用字典模糊测试构造参数&#xff0c;进一步攻击。 2、程序溢出&#xff0c;int最大值为2147483647&#xff0c;可尝试使用该值进行整数溢出&#xff0c;观察现象。 3、403&#xff0c;404响…

如何使用MATLAB写测试(2)Negative Test

如何使用MATLAB写测试&#xff08;2&#xff09;Negative Test 原文&#xff1a;如何使用MATLAB写测试&#xff08;2&#xff09;Negative Test - 知乎 (zhihu.com) 上一篇请参见 如何使用MATLAB写测试&#xff08;1&#xff09; - 知乎专栏 上一篇中&#xff0c;我们的实习…

【YashanDB知识库】ODBC驱动类问题定位方法

【标题】ODBC驱动类问题定位方法 【需求分类】故障分析 【关键字】ODBC 【需求描述】由于我们的ODBC接口目前尚不完善&#xff0c;经常会遇见ODBC接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管…

【python】修改目标检测的txt标签(yolo)的类别ID映射

脚本功能&#xff1a; 针对目录下的所有yolo格式的txt标签文件&#xff0c;将class类别的id修改为指定id。 实际应用常见不多 代码 # -*- coding: utf-8 -*- # Time : 2023/9/11 10:58 # Author : CLW # FileName: change_txt_label.py # Software: PyCharmimport os 算法功…

markdown语法保存

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

实验七 RTP、DSPP协议的配置

一、实验目的 掌握 RIP 动态路由协议的配置、诊断方法。 二、实验步骤 1、 运行 Cisco Packet Tracer 软件&#xff0c;在逻辑工作区放入两台路由器、两台工作站 PC&#xff0c;分别点击各路由器&#xff0c;打开其配置窗口&#xff0c;关闭电源&#xff0c;分别加入一个 2 …

PowerPivot-跨表取值

在PowerPivot中&#xff0c;跨表取值通常涉及创建关系和使用DAX&#xff08;数据分析表达式&#xff09;函数。 以下是一些基本步骤和常用的DAX函数&#xff0c;帮助你在PowerPivot中实现跨表取值&#xff1a; 步骤1&#xff1a;创建关系 加载数据&#xff1a;确保你已将需要…

运维笔记:流编辑器sed命令用法解析

运维笔记 sed命令用法解析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/arti…

数据结构与算法-有效的括号

数据结构与算法-有效的括号 大家好&#xff0c;欢迎来到我们的算法学习系列。今天是我们的第一篇文章&#xff0c;我们将探讨一个经典的面试题目——有效的括号匹配问题。 什么是有效的括号匹配&#xff1f; 在许多编程语言中&#xff0c;括号用于定义代码块、函数参数等。确…

Matlab 结构光相移法(单频多相)

文章目录 一、简介1、基于点的测距2、基于条纹的测距二、条纹编码2.1 二进制编码2.2相移法三、实现代码参考文献一、简介 在介绍相移法之前,我们需要先了解一下为啥会有相移法,了解了其来龙去脉,则更容易去应用它。 1、基于点的测距 首先我们从点的测距开始,这有点类似于立…

每日一题《leetcode--117.填充每个结点的下一个右侧结点指针||》

https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/ 这道题与我之前发布的题目116是一样的解题过程&#xff0c;只是本题所给的数组大小与116不同&#xff0c;这是需要注意的。 116题目链接&#xff1a; http://t.csdnimg.cn/3Ub02 struct Node* c…

推导n维镜像变换公式(householder transform)

n维镜像变换公式&#xff0c;就是将空间某个点 X 0 X_0 X0​&#xff0c;以某个平面对对称平面&#xff0c;平面法向量维 v v v&#xff0c;该平面过空间原点。计算 X 0 X_0 X0​的镜像。假设镜像为 X 1 X_1 X1​。 镜像需要满足下面两个条件 &#xff08;1&#xff09; X 0 X…

RAID配置实战

概念 raid磁盘阵列&#xff1a;可以用不同的硬盘分区&#xff0c;组成一个逻辑上的硬盘。具有高可用 raid级别&#xff1a; raid0 &#xff1a;条带化存储&#xff1a;数据分散在多个物理硬盘上的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的。没有冗…

解读《互联网政务应用安全管理规定》网络和数据安全中的身份认证和审计合规建设

为保障互联网政务应用安全&#xff0c;由中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部制定的《互联网政务应用安全管理规定》近日印发&#xff0c;自2024年7月1日起施行。 规定共8章&#xff0c;包括总则、开办和建设、信息安全、网络…

端到端目标检测 |从DETR 到 GroundingDINO

文章目录 一&#xff0c;DETR1. 简介2. 亮点3. 细节4. 总结一下 二&#xff0c;GroundingDINOGrounding DINO的整体流程Grounding DINO的目标函数 一&#xff0c;DETR 之前的目标检测框架&#xff0c;需要很多的人工干预&#xff0c;很多的先验知识&#xff0c;而且可能还需要…

Pandas格式化DataFrame的浮点数列

在呈现数据的同时&#xff0c;以所需的格式显示数据也是一个重要而关键的部分。有时&#xff0c;值太大了&#xff0c;我们只想显示其中所需的部分&#xff0c;或者我们可以说以某种所需的格式。 让我们看看在Pandas中格式化DataFrame的数值列的不同方法。 例1&#xff1a;将…

❤【纯干货】Matplotlib总结,任何项目都用得到呦❤

Matplotlib 在很多人眼里是无敌的存在&#xff0c;而且可以说是无敌的存在。 走过数据科学的路&#xff0c;路上必然有Matplotlib 的风景在你周围。 如果同一个项目&#xff0c;你的用了matplotlib 不仅有基本图形、定制化图形、多个坐标轴、3D绘图&#xff0c;还有动态交互绘…

DNSlog环境搭建

阿里云域名公网VPS地址 购买阿里云域名后设置“自定义DNSHOST” DNS服务器填写ns1和ns2 如&#xff1a;ns1.aaa.com IP地址填写你的VPS地址 如&#xff1a;1.1.1.1 填写解析记录&#xff0c;一个A记录、一个NS记录 NS记录就是*.域名指向记录值ns1.域名 如&#xff1a;*.aaa…

服务器的远程桌面无法连接,服务器远程桌面无法连接问题处理教程

服务器的远程桌面无法连接&#xff0c;服务器远程桌面无法连接问题处理教程。 一、问题概述 服务器远程桌面无法连接是日常运维中常见的问题之一。它可能由多种原因造成&#xff0c;如网络问题、服务器配置错误、远程桌面服务未启动等。本教程将指导您逐步排查并解决这些问题。…

计算机算法中的数字表示法——原码、反码、补码

目录 1.前言2.研究数字表示法的意义3.数字表示法3.1 无符号整数3.2 有符号数值3.3 二进制补码(Twos Complement, 2C)3.4 二进制反码(也称作 1 的补码, Ones Complement, 1C)3.5 减 1 表示法(Diminished one System, D1)3.6 原码、反码、补码总结 1.前言 昨天有粉丝让我讲解下定…