很有意思的题目,但是本质上还是一个数组模拟的题目
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
//记录结果
int res = duration;
//中毒的结束时间
int end = timeSeries[0]+duration;
for(int i=1;i<timeSeries.length;i++){
//两种情况:
//1、第一种情况是下次致盲已经过了上次致盲的时间
if(timeSeries[i]>=end){
res += duration;
//第二种情况,没过,所以加上的时间是两个的时间差
} else{
res += timeSeries[i]+duration-end;
}
//最后更新结束时间
end = timeSeries[i]+duration;
}
return res;
}
}