示例:
输入:timeSeries = [1,2], duration = 2
输出:3
解释:提莫攻击对艾希的影响如下:
- 第 1 秒,提莫攻击艾希并使其立即中毒。中毒状态会维持 2 秒,即第 1 秒和第 2 秒。
- 第 2 秒,提莫再次攻击艾希,并重置中毒计时器,艾希中毒状态需要持续 2 秒,即第 2 秒和第 3 秒。
艾希在第 1、2、3 秒处于中毒状态,所以总中毒秒数是 3 。
int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration){
int sum = 0;
for(int i = 0;i < timeSeriesSize - 1;i++)
{
if(timeSeries[i] + duration - 1 >= timeSeries[i+1])
{
sum += timeSeries[i+1] - timeSeries[i];//有重叠部分
}
else
sum += duration;//无重叠
}
return sum + duration;//最后一个加一次duration
}