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

题目链接

题目:

分析:

  • 如果两次攻击的时间差是>=中毒的持续时间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;
    }
}
相关推荐
ʚ希希ɞ ྀ18 小时前
leeCode hot 100 !!!持续更新中
数据结构·算法·leetcode
lemontree194518 小时前
CRC8算法通用版本
算法
热爱生活的猴子18 小时前
算法322. 零钱兑换
算法
⑩-18 小时前
如何保证Redis和Mysql数据缓存一致性?
java·数据库·redis·mysql·spring·缓存·java-ee
剪一朵云爱着18 小时前
力扣1539. 第 k 个缺失的正整数
算法·leetcode
摸鱼仙人~19 小时前
针对编程面试和算法题的基础书籍
算法·面试·职场和发展
大吱佬19 小时前
八股速记(自用)
java
征尘bjajmd19 小时前
Java使用okhttp发送get、post请求
java·服务器·数据库
程序编程- Java19 小时前
三角洲行动-java游戏程序
java·游戏程序·安全架构·玩游戏
京东零售技术19 小时前
一款AB实验分析智能体是如何诞生的
算法