12行代码AC_Leecode 495. 提莫攻击——Leecode每日一题系列
今天是堅(jiān)持每日一題打卡的第十五天
題目鏈接:https://leetcode-cn.com/problems/teemo-attacking/
題解匯總:https://zhanglong.blog.csdn.net/article/details/121071779
題目描述
在《英雄聯(lián)盟》的世界中,有一個(gè)叫 “提莫” 的英雄。他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進(jìn)入中毒狀態(tài)。
當(dāng)提莫攻擊艾希,艾希的中毒狀態(tài)正好持續(xù) duration 秒。
正式地講,提莫在 t 發(fā)起發(fā)起攻擊意味著艾希在時(shí)間區(qū)間 [t, t + duration - 1](含 t 和 t + duration - 1)處于中毒狀態(tài)。如果提莫在中毒影響結(jié)束 前 再次攻擊,中毒狀態(tài)計(jì)時(shí)器將會(huì) 重置 ,在新的攻擊之后,中毒影響將會(huì)在 duration 秒后結(jié)束。
給你一個(gè) 非遞減 的整數(shù)數(shù)組 timeSeries ,其中 timeSeries[i] 表示提莫在 timeSeries[i] 秒時(shí)對(duì)艾希發(fā)起攻擊,以及一個(gè)表示中毒持續(xù)時(shí)間的整數(shù) duration 。
返回艾希處于中毒狀態(tài)的 總 秒數(shù)。
示例 1:
輸入:timeSeries = [1,4], duration = 2
輸出:4
解釋:提莫攻擊對(duì)艾希的影響如下:
第 1 秒,提莫攻擊艾希并使其立即中毒。中毒狀態(tài)會(huì)維持 2 秒,即第 1 秒和第 2 秒。
第 4 秒,提莫再次攻擊艾希,艾希中毒狀態(tài)又持續(xù) 2 秒,即第 4 秒和第 5 秒。
艾希在第 1、2、4、5 秒處于中毒狀態(tài),所以總中毒秒數(shù)是 4 。
示例 2:
輸入:timeSeries = [1,2], duration = 2
輸出:3
解釋:提莫攻擊對(duì)艾希的影響如下:
第 1 秒,提莫攻擊艾希并使其立即中毒。中毒狀態(tài)會(huì)維持 2 秒,即第 1 秒和第 2 秒。
第 2 秒,提莫再次攻擊艾希,并重置中毒計(jì)時(shí)器,艾希中毒狀態(tài)需要持續(xù) 2 秒,即第 2 秒和第 3 秒。
艾希在第 1、2、3 秒處于中毒狀態(tài),所以總中毒秒數(shù)是 3 。
提示:
1 <= timeSeries.length <= 104
0 <= timeSeries[i], duration <= 107
timeSeries 按 非遞減 順序排列
水題,分兩種情況討論即可。
class Solution { public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int sum = 0;for(int i = 0; i < timeSeries.size() - 1; i++) {if(timeSeries[i] + duration < timeSeries[i + 1]) sum += duration;else sum += timeSeries[i + 1] - timeSeries[i];}sum += duration; // 最后一個(gè)return sum;} };總結(jié)
以上是生活随笔為你收集整理的12行代码AC_Leecode 495. 提莫攻击——Leecode每日一题系列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泛型的作用是什么?——Java系列学习笔
- 下一篇: 组合和聚合的区别,通俗易懂。