思路:判断两次攻击的时间点是否在持续时间内,是的话就加上这两个攻击的间隔时间,否的话就加上持续时间。
代码:
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
int s=0;
for(int i=0;i<timeSeries.length;i++){
if(i+1<timeSeries.length){
if(timeSeries[i+1]-timeSeries[i]<duration){
s+=(timeSeries[i+1]-timeSeries[i]);
}else{
s+=duration;
}
}
if(i==timeSeries.length-1){
s+=duration;
}
}
return s;
}
}
该博客介绍了一个算法问题,涉及计算一系列攻击事件的总持续时间。如果连续两个攻击之间的间隔小于某个固定时长,则将它们的间隔加入总时间;否则,加上固定时长。提供的代码实现了一个解决方案,遍历攻击时间序列并进行计算,确保在序列末尾也考虑了固定时长。

474

被折叠的 条评论
为什么被折叠?



