栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

leetcode(力扣) 495. 提莫攻击

Python 更新时间:发布时间: 百科书网 趣学号

题目在这:https://leetcode-cn.com/problems/teemo-attacking/

思路分析:

这道题看着蛮有意思的就拿来做了做。
思路还是蛮简单的。
遍历所给数组timeSeries[i]。

  • timeSeries[i+1] - timeSeries[i] 大于所给的中毒持续时间(duration),则答案直接加上duration。
  • 如果两者相减不大于 ,则答案直接加上两者相减的值。

注意一个小点,就是无论如何,当数组所给的最后一个时间中毒后,将完整的经历中毒时间。

例如:
timeSeries = [1,5,6,8] duration = 3。

  • 遍历,5-1>duration 所以答案res+=duration
  • 6-5 < 3 所以答案 res+= 5-4
  • 8-6 < 3 所以答案 res+= 5-4

此时遍历结束,但注意还有一个 8秒的时候中毒没有计算到,此时中毒后无论如何都将经历全部中毒时间,所以答案应该再 加上一个duration。
所以可以索性res初始化的时候就直接等于 duration。

完整代码

class Solution:
    def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
        res = duration
        for i in range(len(timeSeries)-1):
            if timeSeries[i] + duration <= timeSeries[i+1]:
                res += duration
            if timeSeries[i] + duration > timeSeries[i+1]:
                    res += timeSeries[i+1] - timeSeries[i]
        return res
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号