Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【模拟】提莫攻击!

【模拟】提莫攻击!

作者头像
利刃大大
发布于 2025-05-22 05:17:12
发布于 2025-05-22 05:17:12
7200
代码可运行
举报
文章被收录于专栏:csdn文章搬运csdn文章搬运
运行总次数:0
代码可运行

495. 提莫攻击

495. 提莫攻击

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

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

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

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

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

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:timeSeries = [1,4], duration = 2
输出:4
解释:提莫攻击对艾希的影响如下:
-1 秒,提莫攻击艾希并使其立即中毒。中毒状态会维持 2 秒,即第 1 秒和第 2 秒。
-4 秒,提莫再次攻击艾希,艾希中毒状态又持续 2 秒,即第 4 秒和第 5 秒。
艾希在第 1245 秒处于中毒状态,所以总中毒秒数是 4

示例 2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:timeSeries = [1,2], duration = 2
输出:3
解释:提莫攻击对艾希的影响如下:
-1 秒,提莫攻击艾希并使其立即中毒。中毒状态会维持 2 秒,即第 1 秒和第 2 秒。
-2 秒,提莫再次攻击艾希,并重置中毒计时器,艾希中毒状态需要持续 2 秒,即第 2 秒和第 3 秒。
艾希在第 123 秒处于中毒状态,所以总中毒秒数是 3

提示:

  • 1 <= timeSeries.length <= 104
  • 0 <= timeSeries[i], duration <= 107
  • timeSeries非递减 顺序排列

解题思路

计算相邻两个时间点的差值:

  1. 如果差值 ≥ 中毒时间,说明上次中毒可以持续 duration 秒。
  2. 如果差值 < 中毒时间,那么上次的中毒只能持续两者的差值。

​ 最后别忘记最后一个时间点要加上一个中毒时间即可!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    int findPoisonedDuration(vector<int>& timeSeries, int duration) {
        int sum = 0;
        for(int i = 1; i < timeSeries.size(); ++i)
        {
            int gap = timeSeries[i] - timeSeries[i - 1];
            if(gap >= duration)
                sum += duration;
            else
                sum += gap;
        }
        
        // 最后别忘了因为最后一个位置的持续时间也要考虑
        sum += duration;
        return sum;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​LeetCode刷题实战495:提莫攻击
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2022/03/03
2530
【Leetcode -495.提莫攻击 -496.下一个更大的元素Ⅰ】
题目:在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。
YoungMLet
2024/03/01
1230
【数据结构与算法】模拟
https://blog.csdn.net/hsy1603914691/article/details/147953256?sharetype=blogdetail&sharerId=147953256&sharerefer=PC&sharesource=hsy1603914691&spm=1011.2480.3001.8118
风中的云彩
2025/05/28
540
LeetCode 495. 提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。
Michael阿明
2020/07/13
4020
LeetCode 495. 提莫攻击
【每日leetcode】34.提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。
一条coding
2021/09/15
3390
leetcode495. 提莫攻击[easy](python/Rust)
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。
从不摸鱼的van
2023/10/30
1590
力扣题库第495题目解析
这个实际上是说:已知的条件会给我们一个数组,在不同的时刻,也就是这个数组里面的不同的位置,会被攻击,这个时候就会处于中毒的状态,然后我们需要根据这个题目给定的数组和中毒的时刻,判断这个总共的中毒的时间;
阑梦清川
2025/02/24
440
力扣题库第495题目解析
【算法千题案例】⚡️每日LeetCode打卡⚡️——60.提莫攻击
????前言 ????原题样例:提莫攻击 ????C#方法:一次遍历 ????Java 方法:一次遍历 ????总结 ????前言 ???? 算法题 ???? ???? 每天打卡一道算法题,既是一个
呆呆敲代码的小Y
2021/10/22
2670
提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。
名字是乱打的
2021/12/22
2640
深度解析算法之模拟
题目链接 给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的 '?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。
Undoom
2025/04/24
990
深度解析算法之模拟
每日算法系列【LeetCode 495】提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。
godweiyang
2020/03/24
4360
每日算法系列【LeetCode 495】提莫攻击
leetcode-495-提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。
Spaceack
2020/11/04
4760
提莫攻击
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。 你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。
WindRunnerMax
2020/08/27
3980
米哈游(原神)一面算法原题
在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。
五分钟学算法
2024/04/19
1800
米哈游(原神)一面算法原题
Leetcode 495. Teemo Attacking
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书
Tyan
2021/07/08
2660
【C++】模拟(例题 & 学习)
模拟题目通常具有码量大、操作多、思路繁复的特点。由于它代码量大,经常会出现难以查错的情况,如果在考试中写错是相当浪费时间的。
IsLand1314
2024/10/15
1140
【C++】模拟(例题 & 学习)
【优选算法篇】算法江湖中的碎玉拾光——C++模拟题全解,踏步逐章细细品味
给定一个仅包含小写英文字母和 ? 字符的字符串 s,请将所有的 ? 转换为若干小写字母,使得最终的字符串不包含任何连续重复的字符。 注意:你不能修改非 ? 字符。题目保证除了 ? 字符之外,不存在连续重复的字符。 在完成所有转换(可能无需转换)后,返回最终的字符串。如果有多个解决方案,返回其中任何一个即可。
半截诗
2024/11/21
1760
【优选算法篇】算法江湖中的碎玉拾光——C++模拟题全解,踏步逐章细细品味
数字问题-LeetCode 492、495、496、498、500、501、504、506
LeetCode # 492 495 496 498 500 501 504 506
算法工程师之路
2020/02/13
4980
【算法刷题指南】模拟
南桥
2024/12/30
760
【算法】模拟
模拟算法就是根据题目所给的照葫芦画瓢。 考察的是代码能力。 步骤:1.模拟算法流程(一定得自己先过一遍流程) 2.把流程转化为代码
zxctscl
2024/04/15
1170
【算法】模拟
相关推荐
​LeetCode刷题实战495:提莫攻击
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验