当前位置 博文首页 > serity的博客:Leetcode刷题——数组 #495 提莫攻击

    serity的博客:Leetcode刷题——数组 #495 提莫攻击

    作者:[db:作者] 时间:2021-08-21 22:16

    题目

    在这里插入图片描述
    在这里插入图片描述

    求解过程

    实际上只需要判断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