博客
关于我
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/

    你可能感兴趣的文章
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>
    numpy 数组与矩阵的乘法理解
    查看>>
    NumPy 数组拼接方法-ChatGPT4o作答
    查看>>
    numpy 用法
    查看>>
    Numpy 科学计算库详解
    查看>>
    Numpy.fft.fft和numpy.fft.fftfreq有什么不同
    查看>>
    Numpy.ndarray对象不可调用
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>
    numpy转PIL 报错TypeError: Cannot handle this data type
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    NVelocity标签使用详解
    查看>>
    nvidia-htop 使用教程
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>