LeetCode 495、提莫攻击
LeetCode 495、提莫攻击
class Solution:
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
# 结果变量
ans = 0
# 每次中毒结束的时间位置
expired = 0
# 遍历数组 timeSeries
for i in range(len(timeSeries)):
# 1、如果发现当前的时间大于了最近一次中毒后得结束时间
if timeSeries[i] >= expired:
# 又中毒了,叠加时间
ans += duration
# 2、否则,如果发现当前的时间小于或者等于最近一次中毒后得结束时间
else:
# 由于中毒状态不可叠加
# 新的中毒截止时间是 timeSeries[i] + duration
# 上次中毒截止时间是 expired
# 两者相减,获得持续中毒时间
ans += timeSeries[i] + duration - expired
# 更新中毒结束的时间位置
expired = timeSeries[i] + duration
# 返回结果
return ans