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

    你可能感兴趣的文章
    Oracle11G基本操作
    查看>>
    PayPal网站付款标准版(for PHP)
    查看>>
    Paystack Android SDK 集成与使用指南
    查看>>
    Penetration Testing、Security Testing、Automation Testing
    查看>>
    php -- 魔术方法 之 判断属性是否存在或为空:__isset()
    查看>>
    php csv 导出
    查看>>
    php include和require
    查看>>
    php mysql优化方法_MySQL优化常用方法
    查看>>
    PHP OAuth 2.0 Server
    查看>>
    php openssl aes ecb,php openssl_encrypt AES-128-ECB iOS
    查看>>
    php paypal rest api,PayPal REST API指定网络配置文件PHP
    查看>>
    PHP pcntl_fork不能在web服务器中使用的变通方法
    查看>>
    php private ,public protected三者的区别
    查看>>
    php PSR规范
    查看>>
    php redis(2)
    查看>>
    PHP Redis分布式锁
    查看>>
    PHP SOAP模块的使用方法:NON-WSDL模式
    查看>>
    PHP SPL标准库-迭代器
    查看>>
    php zookeeper实现分布式锁
    查看>>
    PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
    查看>>