在《英雄联盟》的世界中,有一个叫“提莫”的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。
你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。
示例1:
输入: [1,4], 2
输出: 4
原因: 在第1秒开始时,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持2秒钟,直到第2秒钟结束。
在第4秒开始时,提莫再次攻击艾希,使得艾希获得另外2秒的中毒时间。
所以最终输出4秒。
class Solution: def findPoisonedDuration(self, list1, time1): """ :type timeSeries: List[int] :type duration: int :rtype: int """ sum_time = 0 if len(list1) == 0: return 0 for i in range(1,len(list1)): cur_time = 0 time_gap = list1[i] - list1[i-1] if time_gap >= time1: cur_time = time1 else: cur_time = time_gap sum_time += cur_time return sum_time+time1