博客
关于我
LeetCode 495 Java实现
阅读量:475 次
发布时间:2019-03-06

本文共 1152 字,大约阅读时间需要 3 分钟。

为了解决这个问题,我们需要计算艾希在《英雄联盟》中中毒的总时长。提莫的攻击可以让艾希中毒,我们需要根据提莫的攻击时间序列和中毒持续时间来计算艾希的中毒状态总时长。

方法思路

  • 问题分析: 提莫的每次攻击会让艾希中毒,中毒持续时间从提莫攻击开始的那个时间点到攻击时间点之后的一段时间。我们需要将所有中毒时间段加起来,得到艾希的总中毒时长。
  • 直观理解: 如何处理重叠的中毒期。每次攻击都会延长艾希的中毒时间。有时候,后续攻击的时间点会在前一次中毒期内,这时候下一次攻击的中毒期只能从该攻击时间点开始,至中毒结束的时间点。
  • 具体解决方案: 遍历时间序列,计算每两个相邻攻击时间的间隔。如果时间间隔大于等于中毒持续时间,那么这一段时间是有效的中毒时间;否则,仅加上该间隔时间。最后还需要加上最后一次中毒的时间,因为它可能结束后继续中毒。
  • 解决代码

    class Solution {    public int findPoisonedDuration(int[] timeSeries, int duration) {        if (timeSeries.length == 0) {            return 0;        }        int sum = 0;        for (int i = 1; i < timeSeries.length; i++) {            int currentAttack = timeSeries[i];            int previousAttack = timeSeries[i - 1];            int interval = currentAttack - previousAttack;            if (interval >= duration) {                sum += duration;            } else {                sum += interval;            }        }        sum += duration;        return sum;    }}

    代码解释

  • 初始化检查: 如果攻击时间序列为空,直接返回0。
  • 遍历时间序列: 对于每两个相邻的攻击时间,计算他们的时间间隔。
  • 时间间隔处理: 如果间隔大于等于中毒持续时间,将中毒持续时间加到总中毒时间;否则,将间隔时间加到总中毒时间。
  • 处理最后一次中毒: 最后加上中毒持续时间,因为它可能延续到最后一次攻击结束的时间点。
  • 这种方法确保了我们能够正确和有效地计算艾希的中毒总时长,考虑了所有可能的攻击时间间隔和重叠情况。

    转载地址:http://tbkdz.baihongyu.com/

    你可能感兴趣的文章
    pip3安装命令重复创建文件‘/tmp/pip-install-xxxxx/package‘失败
    查看>>
    PIPE 接口信号列表
    查看>>
    pipeline配置与管理Job企业级实战
    查看>>
    pipeline项目配置实战
    查看>>
    Pipenv 与 Conda?
    查看>>
    QVGA/HVGA/WVGA/FWVGA分辨率屏含义及大小//Android虚拟机分辨率
    查看>>
    pipreqs : 无法将“pipreqs”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。
    查看>>
    pipy国内镜像的网址
    查看>>
    quiver绘制python语言
    查看>>
    pip下载缓慢
    查看>>
    PIP使用SSH从BitBucket安装自定义软件包,无需输入SSH密码
    查看>>
    pip命令提示unknow or unsupported command install解决方法
    查看>>
    pip在安装模块时提示Read timed out
    查看>>
    pip更换源
    查看>>
    SpringBoot之Banner源码深度分解
    查看>>
    Pix2Pix如何工作?
    查看>>
    QuickBI助你成为分析师——搞定数据源
    查看>>
    pkl来存储python字典
    查看>>
    quick sort | 快速排序 C++ 实现
    查看>>
    pkpmbs 建设工程质量监督系统 Ajax_operaFile.aspx 文件读取漏洞复现
    查看>>