提莫攻击 ---- 模拟算法

题目链接

题目:

分析:

  • 如果两次攻击的时间差是>=中毒的持续时间duration, 那么第一次攻击的中毒时间就是duration
  • 如果两次攻击的时间差是< 中毒的持续时间duration, 那么第一次攻击的持续时间就是这个时间差
  • 假设攻击了n次, 那么我们从第一次攻击开始计算时间差, 那么当我们算到最后一次时, 计算的是前面的n-1次的时间, 那么最后一次攻击, 中毒时间肯定是duration, 所以我们计算结果时, 要加上duration

代码:

java 复制代码
class Solution {
    public int findPoisonedDuration(int[] timeSeries, int duration) {
        int ret = 0;
        for(int i = 1; i < timeSeries.length; i++){
            if(timeSeries[i] - timeSeries[i-1] >= duration){
                ret += duration;
            }else{
                ret += timeSeries[i] - timeSeries[i-1];
            }
        }
        return ret + duration;
    }
}
相关推荐
见合八方12 小时前
【滤波器】热调谐FP滤波器
人工智能·算法
古城小栈12 小时前
cargo-pprof:Rust性能调优
人工智能·算法·rust
KANGBboy12 小时前
java知识二(数组)
java·开发语言·python
爱笑的源码基地12 小时前
智慧班牌源码:从后端SpringBoot到前端Vue2的全栈实现
java·大数据·云计算·源码·程序代码·智慧校园源码·智慧班牌源码
x_xbx12 小时前
LeetCode:543. 二叉树的直径
算法·leetcode·职场和发展
XiYang-DING12 小时前
【Spring】日志
java·数据库·spring
QiLinkOS12 小时前
QiLink 技术委员会选举实施细则
c语言·数据结构·c++·单片机·嵌入式硬件·算法·开源
我材不敲代码12 小时前
Python基础: 函数超全详解:定义、参数、返回值、作用域与递归
开发语言·python·算法
雪度娃娃12 小时前
转向现代C++——优先选用删除函数而非private未定义函数
java·jvm·c++
Kurisu57512 小时前
深度拆解:从 Linux 内核 Namespace 与 Cgroups 洞察容器技术的底层本质
java·linux·运维