优选算法_模拟_提莫攻击_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;//最后一次中毒一定不会重置
    }
};
相关推荐
will_net16 分钟前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央1 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>1 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
Fuyo_11191 小时前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
努力努力再努力wz2 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
jktantan2 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
揽星河..2 小时前
【C语言】猜数字游戏
c语言·算法·游戏
飞浪纪元[FWC–FE]2 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt
Wang's Blog2 小时前
Java 项目实战:交友项目 - 联系人列表
java·开发语言·交友
傲世仙尊2 小时前
继承-类设计层次复用切片转换与菱形继承的死结
c++