美文网首页
#495. Teemo Attacking

#495. Teemo Attacking

作者: Double_E | 来源:发表于2017-05-02 22:09 被阅读20次

    https://leetcode.com/problems/teemo-attacking/#/description

    题目过长 这里就不放啦

    翻译

    • 给定一个升序的数组如【1, 4】和一个数字 【2】
    • 代表在1, 4时刻进行下毒,每次下毒持续2秒
    • 这样【1, 4】 和【2】的中毒持续时间是4= 【1,2】 + 【4, 5】
    • 需要注意的是,中毒事件不能叠加,即剩余还有1秒时,又中了新的持续2秒的毒,那么中毒持续时间为2s
    • 举例如下 【1, 2】 和【2】
    • t=1,所下的毒应该持续到t=3
    • 但是这里在t=2时在还剩1s解毒时,又下了一次毒,这样毒持续的时间为2 而不是2+1
    • 所以 【1, 2】 和【2】 中毒持续时间为【1, 2, 3】= 3

    思路

    • re = 0, old_end =
    • new_end = timeSeries[i-1] + duration - 1
    • 中毒持续时间为min(duration,new_end - old_end)
    • old_end = new_end
    class Solution(object):
        def findPoisonedDuration(self, timeSeries, duration):
            """
            :type timeSeries: List[int]
            :type duration: int
            :rtype: int
            """
            re = 0
            old_end = -1
            for i in range(len(timeSeries)):
                new_end = timeSeries[i] + duration - 1
                re += min(duration, new_end - old_end)
                old_end = new_end
            return re
    

    相关文章

      网友评论

          本文标题:#495. Teemo Attacking

          本文链接:https://www.haomeiwen.com/subject/dbyhtxtx.html