优选算法_模拟_提莫攻击_C++

一.题目解析

有一个数组,里面每一个数字都表示一个攻击的时间,每一次攻击都会造成duration的中毒效果,求最大的中毒时间,在中毒期间再次攻击会重置中毒时间

算法解析

两次攻击间隔>duration,说明中毒可以完整结束,如果<duration,说明中毒重置就只能造成两攻击间隔时间x的中毒

模拟算法考验代码编写的能力,理解过程要自己编写

二.代码编写

cpp 复制代码
class Solution {
public:
    int findPoisonedDuration(vector<int>& timeSeries, int duration) {
        int rettime=0;
        int n=timeSeries.size();
        for(int i=0;i<n;i++)
        {
            if(i==n-1) break;//边界情况
            int x=timeSeries[i+1]-timeSeries[i];
            if(x>=duration)
            {
                rettime+=duration;
            }
            else
            {
                rettime+=x;
            }
        }
        return rettime+duration;//最后一次中毒一定不会重置
    }
};
相关推荐
月华路10 分钟前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
我想走路带风17 分钟前
LRU和最长前缀和(计算机网络算法)
计算机网络·算法
M78佐菲39 分钟前
Linux学习笔记:进程
linux·笔记·学习·算法
liangshanbo12151 小时前
虚拟列表深度面试题整理
java·开发语言·前端
ZISHU_9871 小时前
用 TLabel 给 SynTouch BioTac 数据做语义标注:从原始信号到结构化标注
开发语言·人工智能·python·数据·机器人触觉
略略略咯咯1 小时前
C#Unity
开发语言·unity·c#
gugucoding1 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
ShineWinsu1 小时前
对于C++:C++20中线程、初始化、Lambda与内存视图等特性的解析
c++·c++20
lilian2331 小时前
Harmony os 技术实战|拼豆制图43:压缩字符矩阵上线前如何拦住错位图纸
开发语言·前端·华为·矩阵·harmonyos
进击ing小白2 小时前
Qt 无边框窗口进阶指南
开发语言·qt