题目链接:
力扣https://leetcode-cn.com/problems/teemo-attacking/
【分析】一次遍历,比较当前t[i]+d-1=t与t[i+1]的大小,如果小于下一个,那么中毒时间为d,否则为数组中两个数的差值。
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
if(duration == 0) return 0;
int n = timeSeries.length, t, ans = 0;
for(int i = 0, m = n - 1; i < m; i++){
t = timeSeries[i] + duration - 1;
if(t < timeSeries[i + 1]) ans += duration;
else ans += timeSeries[i + 1] - timeSeries[i];
}
return ans + duration;
}
}