当前位置 博文首页 > serity的博客:Leetcode刷题——数组 #495 提莫攻击
实际上只需要判断timeSeries[i]加上duration后是否会大于timeSeries[i+1],因为中毒状态不可叠加,如果大于,则本次中毒时间就是timeSeries[i+1]-timeSeries[i],否则就为duration。但最后一次发起攻击后的中毒时间并没有计入,所以最后还得再加一次duration。
代码如下:
class Solution:
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
if len(timeSeries) == 0: return 0
time = 0
for i in range(0, len(timeSeries) - 1):
if timeSeries[i] + duration > timeSeries[i + 1]:
time += timeSeries[i + 1] - timeSeries[i]
else:
time += duration
time += duration
return time
cs