Teemo Attacking
用一个变量维护当前时间点,再用一个变量维护毒药能覆盖的时间长度,每到一个新点检查这个新点是在当前毒药覆盖范围内还是范围外,每次更新当前时间点和覆盖范围
class Solution(object):
def findPoisonedDuration(self, timeSeries, duration):
"""
:type timeSeries: List[int]
:type duration: int
:rtype: int
"""
if not timeSeries:
return 0
result = 0
n = len(timeSeries)
pre, cover = timeSeries[0], timeSeries[0] + duration - 1
result += duration
for i in xrange(1, n):
if timeSeries[i] <= cover:
result += (timeSeries[i] - pre)
else:
result += duration
pre = timeSeries[i]
cover = pre + duration - 1
return result