力扣题库第495题目解析

文章目录

  • 1.题目再现
  • 2.思路分析&&示例说明
    • 2.1第一个示例
    • 2.2第二个示例
  • 3.代码解释

1.题目再现

这个题目的名字叫做提莫攻击,如果是玩游戏的小伙伴对于这个场景就很熟悉了;

这个实际上是说:已知的条件会给我们一个数组,在不同的时刻,也就是这个数组里面的不同的位置,会被攻击,这个时候就会处于中毒的状态,然后我们需要根据这个题目给定的数组和中毒的时刻,判断这个总共的中毒的时间;

2.思路分析&&示例说明

2.1第一个示例

下面的这个就是题目给定的第一个示例:我来说一下这样的题目应该如何进行分析,我们遵循从易到难的思路;

他的这个数组里面是两个元素,我们可以把这个补全,什么叫做补全?

就是我们写 1 2 3 4 这样全部写出来;

这个时候的1,4相当于在这个1,4位置会受到攻击,攻击之后就会中毒,这个时候的持续时间是2,因此,题目上面说了,这四个数据里面,第一个位置和第四个位置会中毒,也就是数组里面的1 4,1开始中毒,持续时间2秒,也就是经过了1到2,2到3的过程,至此,第一段的中毒时间结束;

接着到4的时候,再次中毒,这个时候持续的时间是2,也就是4到5,5到6;

综合上面的分析,一共的中毒的时间就是4,即1到2,2到3,4到5,5到6,这个就是对于给定的第一个案例的解释


2.2第二个示例

下面的是给定的第二个示例:

这个地方我提示一下,之所以给出来第二个示例,就是因为他和第一个有区别,如果两个题目的思路是完全一样的,这个时候就没有给出来的必要了;

它的特殊之处就在于他是第一秒的时候开始中毒,中毒的时间是两秒,本来应该是1到2,2到3,但是这个时候题目里面说了,2的时候有中毒了,注意这个是新的过程,因此1开始的那一次中毒只会持续1秒钟,2的时候就会开始新一轮的中毒,持续的时间是2秒;

综上所述,这个过程里面的持续的时间就是3秒钟;

3.代码解释

上面的两个例子更多的是在总结思路和方法,接下来的代码就是对于上面的思路的一个凝练和高度概括;

显然,我们发现,需要使用数组里面的前一个数字和后一个数字的差和我们的duration(即中毒的持续的时间)进行比较,如果差值大,这个时候就是完全中毒药,不会出现交叉;

如果这个duration大,也就是这一轮没结束的时候,新一轮的这个中毒就开始了,这个时候就需要加上的时两个的差值,而不是这个duration了;

例如1 2 duration=2,这个时候1开始的时候加上的中毒时间应该是2-1的差值,而不是这个duration,因为这个2没过完,新一轮的中毒又开始了;

在下面的这个代码里面,我们使用这个ret不断对于这个过程里面的中毒的时间进行统计,最后作为返回值就可以了;

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

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

相关文章

leetcode刷题日记 1

https://leetcode.cn/problems/decode-ways/description/ 题目分析 分析了一下题目,我的第一想法:和之前的上楼梯问题很像 为什么这么说呢,感觉他们的值和他们之前元素都有千丝万缕的联系 就像上楼梯问题 就是我们的dp问题 怎么解释呢&a…

matlab simulink 汽车四分之一模型轮胎带阻尼

1、内容简介 略 matlab simulink121-汽车四分之一模型轮胎带阻尼 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

广度优先搜索(BFS)算法详解——以走迷宫问题为例

引言:当算法遇见迷宫 想象你置身于一个复杂的迷宫,如何在最短时间内找到出口?这个问题不仅存在于童话故事中,更是计算机科学中经典的路径搜索问题。本文将带你通过走迷宫问题,深入理解广度优先搜索(BFS&am…

网工_以太网MAC层

2025.02.05:网工老姜学习笔记 第12节 以太网MAC层 2.1 MAC层的硬件地址2.2 MAC地址特殊位含义2.3 终端适配器(网卡)具有过滤功能2.4 MAC帧的格式2.4.1 DIX Ethernet V2标准(先私有,后开放,用得比较多&#…

解锁高效 Web 开发新姿势:Open WebUI 安装指南

在 Web 开发的浩瀚宇宙里,找到一款强大又好用的框架,就如同拥有了超级外挂,能让开发效率直线飙升。 今天要给大家介绍的 Open WebUI,便是这样一款神器,它作为开源框架,助力开发者轻松搭建现代感十足、交互性…

485网关数据收发测试

目录 1.UDP SERVER数据收发测试 使用产品: || ZQWL-GW1600NM 产品||【智嵌物联】智能网关型串口服务器 1.UDP SERVER数据收发测试 A(TX)连接RX B(RX)连接TX 打开1个网络调试助手,模拟用户的UDP客户端设…

软考高级-软件系统架构师-02-软件工程(重点)

用工程化的思想做软件 一、软件开发方法(/原则) 软件开发方法(重点) 结构化法(面向过程/函数) C 概念 用户至上严格区分工作阶段,每个阶段有各自的任务和成果强调系统开发的整体性和全局性系统开…

STM32的HAL库开发---通用定时器(TIMER)---定时器脉冲计数

一、脉冲计数实验原理 1、 外部时钟模式1:核心为蓝色部分的时基单元,时基单元的时钟源可以来自四种,分别是内部时钟PCLK、外部时钟模式1,外部时钟模式2、内部定时器触发(级联)。而脉冲计数就是使用外部时钟…

甘肃省医保刷脸设备激活步骤

医保刷脸设备激活开通操作流程 激活社保 一、拆下刷脸设备,按右侧按键设置Wi-Fi和内网 Wi-Fi可连接个人热点,用于获取安装地址 配置Wi-Fi成功以后,输入机构代码,点击“获取”,安装地址获取成功; 断开Wi-…

一个sql只能有一个order by

ORDER BY 子句在 SQL 中只能出现一次,静态部分和动态部分只能写一个 ORDER BY

【Linux网络编程】之守护进程

【Linux网络编程】之守护进程 进程组进程组的概念组长进程 会话会话的概念会话ID 控制终端控制终端的概念控制终端的作用会话、终端、bash三者的关系 前台进程与后台进程概念特点查看当前终端的后台进程前台进程与后台进程的切换 进程组 进程组的概念 当我们使用以下命令查与…

MySQL的底层原理与架构

前言 了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。 了解MySQL架构 通过上面的架构图可以得知,Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的,下面将主要…

自动化测试工具selenium的安装踩坑

先安装Python 然后pip install selenium 浏览器安装驱动 火狐版本:132.0 geckodriver应用W3C WebDriver兼容远程服务器与根据gecko的浏览器互动的代理,该程序流程出示WebDriver协议书叙述的HTTP API,用以与Gecko浏览器(如Firefox)通讯 下…

apisix网关ip-restriction插件使用说明

ip-restriction插件可以在网关层进行客户端请求ip拦截。 当然了,一般不推荐使用该方法,专业的事专业工具做。建议有条件,还是上防火墙或者waf来做。 官方文档:ip-restriction | Apache APISIX -- Cloud-Native API Gateway whit…

Baklib赋能数字内容体验个性化推荐提升用户体验的未来之路

内容概要 随着数字化时代的不断发展,用户对内容消费的需求日益多样化,个性化推荐成为提升用户体验的重要手段。Baklib以其先进的技术手段,在数字内容领域内积极推动个性化推荐的实施,从而满足用户在信息获取和内容消费中的独特需…

【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程

超详细的 SQL Server Management Studio (SSMS) 下载、安装、连接数据库配置及卸载教程 SQL Server Management Studio (SSMS) 是微软提供的图形化管理工具,主要用于连接、管理和开发 SQL Server 数据库。以下是详细的 SSMS 下载、安装、连接数据库以及卸载的完整教…

【慕伏白教程】Zerotier 连接与简单配置

文章目录 下载与安装 WindowsLinux apt安装官方脚本安装 Zerotier 配置 新建网络网络配置 终端配置 WindowsLinux 下载与安装 Windows 进入Zerotier官方下载网站,点击下载 在下载目录找到安装文件,双击打开后点击 Install 开始安装 安装完成后&…

BUU22 [护网杯 2018]easy_tornado 1

打开题目以后出现三个文件,查看源代码,突破口在于这三个文件都有特殊的格式 python的tornado漏洞 Tornado 是一个用 Python 编写的 Web 框架(和flask一样,只不过flask是轻量级的,而tornado可以处理高流量&#xff09…

Windows Docker笔记-Docker拉取镜像

通过在前面的章节《安装docker》中,了解并安装成功了Docker,本章讲述如何使用Docker拉取镜像。 使用Docker,主要是想要创建并运行Docker容器,而容器又要根据Docker镜像来创建,那么首当其冲,必须要先有一个…

接入 deepseek 实现AI智能问诊

1. 准备工作 注册 DeepSeek 账号 前往 DeepSeek 官网 注册账号并获取 API Key。 创建 UniApp 项目 使用 HBuilderX 创建一个新的 UniApp 项目(选择 Vue3 或 Vue2 模板)。 安装依赖 如果需要在 UniApp 中使用 HTTP 请求,推荐使用 uni.requ…