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

leetcode(力扣) 495. 提莫攻击

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

leetcode(力扣) 495. 提莫攻击

题目在这: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.mshxw.com
本文地址:https://www.mshxw.com/it/273431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号