leetcode:495. 提莫攻击

简介: leetcode:495. 提莫攻击

一、题目

链接:495. 提莫攻击 - 力扣(LeetCode)

 

函数原型:int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration)

二、思路

遍历数组timeSeries,如果 元素值+duration <= 下一元素值 ,持续时间为duration;如果 元素值+duration > 下一元素值,持续时间为duration - (元素值+duration - 下一元素值)

如果遍历到最后一个元素,那么中毒持续时间为duration

三、代码

int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration) {
    int time=0;//总持续时间
    for(int i=0;i<timeSeriesSize;i++)
    {
        int tmp=timeSeries[i]+duration;//当前元素值+持续时间
        if(i==timeSeriesSize-1)//判断是否为最后一个元素
        {
            time+=duration;//最后一个元素,持续时间直接为duration
        }
        else//不是最后一个元素
        {
            if(tmp<=timeSeries[i+1])//当前元素值+持续时间≤下一元素值
            {
                time+=duration;
            }
            else//当前元素值+持续时间>下一元素值
            {
                time=time+duration-(tmp-timeSeries[i+1]);
            }
        }
    }
    return time;
}


目录
相关文章
【Leetcode -495.提莫攻击 -496.下一个更大的元素Ⅰ】
【Leetcode -495.提莫攻击 -496.下一个更大的元素Ⅰ】
48 0
leetcode 1222. 可以攻击国王的皇后(每日一题)
leetcode 1222. 可以攻击国王的皇后(每日一题)
78 0
|
算法 C++ Python
每日算法系列【LeetCode 495】提莫攻击
每日算法系列【LeetCode 495】提莫攻击
109 0
|
算法 Java C#
【算法千题案例】⚡️每日LeetCode打卡⚡️——60.提莫攻击
📢前言 🌲原题样例:提莫攻击 🌻C#方法:一次遍历 🌻Java 方法:一次遍历
【算法千题案例】⚡️每日LeetCode打卡⚡️——60.提莫攻击
|
算法 Java
【leetcode刷题】36.提莫攻击——Java版
⭐欢迎订阅《leetcode》专栏,每日一题,每天进步⭐ 我建议加上攻速,攻击力,生命回复速率,护甲,魔抗,血量,计算在攻击频率下提莫几秒弄死艾希 ——leetcode此题热评
166 0
【leetcode刷题】36.提莫攻击——Java版
|
算法
​LeetCode刷题实战495:提莫攻击
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
116 0
|
3月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
4月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
120 2