LeetCode第一天(495.提莫攻击)

题目:

在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。

当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。

正式地讲,提莫在 t 发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束  再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。

给你一个 非递减 的整数数组 timeSeries ,其中 timeSeries[i] 表示提莫在 timeSeries[i] 秒时对艾希发起攻击,以及一个表示中毒持续时间的整数 duration 。

返回艾希处于中毒状态的  秒数。

官解:

我们只需要对数组进行一次扫描就可以计算出总的中毒持续时间。我们记录艾希恢复为未中毒的起始时间 expired\textit{expired}expired,设艾希遭遇第 iii 次的攻击的时间为 timeSeries[i]\textit{timeSeries}[i]timeSeries[i]。当艾希遭遇第 iii 攻击时:

如果当前他正处于未中毒状态,则此时他的中毒持续时间应增加 duration\textit{duration}duration​,同时更新本次中毒结束时间 expired\textit{expired}expired​ 等于 timeSeries[i]+duration\textit{timeSeries}[i] + \textit{duration}timeSeries[i]+duration​;
如果当前他正处于中毒状态,由于中毒状态不可叠加,我们知道上次中毒后结束时间为 expired\textit{expired}expired​​,本次中毒后结束时间为 timeSeries[i]+duration\textit{timeSeries}[i] + \textit{duration}timeSeries[i]+duration​​,因此本次中毒增加的持续中毒时间为 timeSeries[i]+duration−expired\textit{timeSeries}[i] + \textit{duration} -\textit{expired}timeSeries[i]+duration−expired​​;
我们将每次中毒后增加的持续中毒时间相加即为总的持续中毒时间。

class Solution {public int findPoisonedDuration(int[] timeSeries, int duration) {int sum = 0;int expired = 0;for(int i = 0;i < timeSeries.length;++i){if(timeSeries[i] >= expired){sum += duration;}else{sum += timeSeries[i] + duration - expired;}expired = timeSeries[i] + duration;}return sum;}
}

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

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

相关文章

从内存巷弄到指针大道(一)

文章目录 1.内存和地址1.1理解内存地址酒店大堂&#xff1a;内存的入口房间号&#xff1a;内存地址的意义酒店的楼层划分&#xff1a;内存的结构酒店的房间单位&#xff1a;计算机中的常见单位 1.2如何理解编址 2.指针变量和地址2.1取地址操作符&#xff08;&)2.2 指针变量…

姿态生成smpl

目录 Minimal-IK 根据3d姿态预测smpl参数HybrIK smplx_kid_template.npy 下载 h36m_mean_beta.npy下载 h36m_mean_beta.npy 转换脚本

二、typescript基础语法

一、条件语句 二、函数 1、有名函数 function add(x:number, y:number):number {return x y;}2、匿名函数 let add function (x:number, y:number):number {return x y;}函数可选参数 function buildName(firstname: string, lastname?:string) {if (lastname) {return fi…

小程序插件引用vant方式

小程序主体项目构建npm包&#xff0c;引入vant 首先要创建插件&#xff0c;不知道的去官网看下&#xff0c;直通链接 构建npm包&#xff0c;直接在小程序打开终端 npm install npm i vant/weapp -S --production记得修改 project.config.json {..."setting": {...…

模式结果和观测的对比

首先对模式的海表温度进行对比 (base) [chengxllogin02 10yearmean]$ ls sst_*.nc sst_2000.nc sst_2002.nc sst_2004.nc sst_2006.nc sst_2008.nc sst_2001.nc sst_2003.nc sst_2005.nc sst_2007.nc sst_2009.nc 首先将观测资料转化为年平均 ls sst.200* |xargs -I{} cdo -b f…

​2024年保护微服务的前10种技术

1*5rY-jEv7qlpa_swi4WMIBw.png 引言 与当前正在使用的任何其他技术或方法一样&#xff0c;微服务也有其自己的一套缺陷和问题。尽管如此&#xff0c;微服务架构的采用率不断增加&#xff0c;预计到2028年将达到1718.2亿美元。 然而&#xff0c;尽管团队使用微服务&#xff0c;但…

如何默认管理员开启CMD

许多朋友使用win10系统的时候经常会用到CMD命令&#xff0c;而且还要以管理员身份运行&#xff0c;那么如何设置默认打开cmd都是以管理员身份运行&#xff0c;设置的方法挺简单&#xff0c;大家跟着下面的步骤操作即可。 Win10怎么默认以管理员身份运行cmd&#xff1f; 1、在开…

解读 Xend Finance:向 RWA 叙事拓展,构建更具包容性的 DeFi 体系

在二十世纪后&#xff0c;非洲地区陆续爆发了主权运动&#xff0c;这也让非洲大陆逐渐摆脱“殖民地”的标签。目前&#xff0c;非洲大陆公有 54 个主权国家&#xff0c;接近 15 亿且仍在飙升的人口规模&#xff0c;其 GDP 已经与印度相当&#xff0c;且仍旧处于飞速的发展进程中…

【机器学习300问】44、P-R曲线是如何权衡精确率和召回率的?

关于精确率和召回率的基础概念我已经写了两篇文章&#xff0c;如果友友还不知道这两个评估指标是什么&#xff0c;可以先移步去看看这两篇文章&#xff1a; 【机器学习300问】25、常见的模型评估指标有哪些&#xff1f;http://t.csdnimg.cn/JtuUO 总结一下这两个概念&a…

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据&#xff0c;由一个主要数据文件&#xff08;.mdf&#xff09;和若干个次要数据文件&#xff08;.ndf&#xff09;构成&#xff1b;日志文件用于存储事物日志&#xff0c;由.ldf文件…

Java全栈课程之Linux———基本属性

一、看懂文件属性 Linux系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。 在Linux中我们可以使…

2000元投影仪坚果N1 Air怎么样?对比D5X哪款更好?

投影仪市场&#xff0c;近年来作为家电数码领域的新星&#xff0c;已经引起了广泛的关注。特别是在年轻人群体中&#xff0c;投影仪成为了提升生活品质、享受家庭娱乐时光的重要工具。随着市场的繁荣&#xff0c;各种品牌和型号的投影仪如雨后春笋般涌现&#xff0c;其中&#…

使用 Docker Compose 部署单机版 Redis

第一步&#xff1a;创建 Docker Compose 文件 在你喜欢的文本编辑器中创建一个名为 docker-compose.yml 的文件&#xff0c;并将以下内容复制粘贴进去&#xff1a; version: 3.3 services:redis:image: redis:latestcontainer_name: redisrestart: alwaysports:- 6379:6379vol…

Linux--进程(1)

目录 前言 1.冯诺依曼体系结构 2. 操作系统(Operator System)--第一个被加载的软件 3.进程 3.1基本概念 3.2Linux中的PCB 3.3通过系统调用创建子进程-fork初识 fork&#xff1a;创建一个子进程 为什么要创建子进程&#xff1f; fork的原理&#xff1a; 进一步了解fo…

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework PDF: https://arxiv.org/html/2403.13248v1 1 概述 为弥补Sora不开源的缺陷&#xff0c;本文提出多代理框架Mora&#xff0c;整合先进视觉AI代理&#xff0c;复制Sora的全能视频生成能力。Mora能利用…

2024年《期刊引证报告》解读,迎来哪些新调整?

​ 【SciencePub学术】 近日&#xff0c;科睿唯安官方发布了一则关于2024年《期刊引证报告》&#xff1a;为增强透明度和包容性&#xff0c;期刊影响因子学科排名迎来新调整的文章。文章中对今年新调整过的地方做出了详细的解释。 截图来源&#xff1a;科睿唯安公众号 动态一…

win10 下Msys2编译FFmpeg的流程方法

安装Msys MSYS2官网 安装... 将\msys64\usr\bin加入环境变量 Mysy2中输入 pacman –Syu pacman –Su pacman -S git patch unzip pacman -S --needed base-devel mingw-w64-x86_64-toolchain 选择all 查看gcc安装路径 which gcc 查看是否被安装 pacman -Q gcc 安装…

#Linux(连接档概念)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;硬链接&#xff08;inode&#xff0c;建立硬链接的文件inode号相同&#xff09; &#xff08;2&#xff09;创建硬链接:ln 文件名1 文件名…

css设置div的2个span一个在最左边,一个在最右边

界面&#xff1a; 代码&#xff1a; <html><style>.top span {display: block;position: absolute;margin: 0 20px; /* 添加边距以避免太靠近边缘 */ }.top span:nth-child(1) {left: 5px; /* 调整左侧位置 */ }.top span:nth-child(2) {right: 5px; /* 调整右侧位…

【前端性能】前端性能优化方法总结

关于前端性能指标和测量方法可以看这篇&#xff1a;【前端性能】前端性能指标和测量方法总结 文章目录 前端性能优化网络方向HTTP缓存本地储存HTTP升级DNS预解析使用CDN 渲染方向HTMLCSSJS图片Webpack优化 前端性能优化 可以从网络请求方向和页面渲染方向进行优化&#xff1a…