一、题目
链接:495. 提莫攻击 - 力扣(LeetCode)
函数原型:int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration)
二、思路
遍历数组timeSeries,如果 元素值+duration <= 下一元素值 ,持续时间为duration;如果 元素值+duration > 下一元素值,持续时间为duration - (元素值+duration - 下一元素值)
如果遍历到最后一个元素,那么中毒持续时间为duration
三、代码
int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration) {int time=0;//总持续时间for(int i=0;i<timeSeriesSize;i++){int tmp=timeSeries[i]+duration;//当前元素值+持续时间if(i==timeSeriesSize-1)//判断是否为最后一个元素{time+=duration;//最后一个元素,持续时间直接为duration}else//不是最后一个元素{if(tmp<=timeSeries[i+1])//当前元素值+持续时间≤下一元素值{time+=duration;}else//当前元素值+持续时间>下一元素值{time=time+duration-(tmp-timeSeries[i+1]);}}}return time; }