一、題目
鏈接: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; }