题目:
在LOL世界中,有一个名为Teemo的英雄,他的攻击可以使他的敌人阿什处于中毒状态。现在,鉴于Teemo攻击Ashe的上升时间序列以及每个Teemo攻击的中毒持续时间,您需要输出Ashe处于中毒状态的总时间。
您可以假设Teemo在特定时间点的最开始时进行攻击,并使Ashe立即处于中毒状态。
实例:
分析:这个就是在每个节点计算其与前一个时间节点的关系,如果时间间隔大于要求的时间,则时间可以直接叠加,否则需要重新进行叠加,即上一个的时间加上两时间间隔的。
代码:
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
int all=0;
int time=0;
for(int i=0;i<timeSeries.length;i++)
{
if(i==0)
{
all+=duration;
}
else
{
if(time<=timeSeries[i])
{
all+=duration;
}
else
{
all+=timeSeries[i]-timeSeries[i-1];
}
}
time=timeSeries[i]+duration;
}
return all;
}
}