当前位置: 首页 > wzjs >正文

响应式网站怎么改万网怎样做网站调试

响应式网站怎么改,万网怎样做网站调试,苏州建设工程公司,鹤岗市城乡建设局网站1. 题目链接 LeetCode 495. 提莫攻击 2. 题目描述 在《英雄联盟》中,提莫的攻击会使得敌人进入中毒状态。给定一个非递减的时间序列 timeSeries 和中毒持续时间 duration,计算敌人总的中毒时间。 规则: 如果两次攻击的时间间隔小于 durati…
1. 题目链接

LeetCode 495. 提莫攻击


2. 题目描述

在《英雄联盟》中,提莫的攻击会使得敌人进入中毒状态。给定一个非递减的时间序列 timeSeries 和中毒持续时间 duration,计算敌人总的中毒时间。
规则

  • 如果两次攻击的时间间隔小于 duration,中毒时间不会叠加,而是刷新持续时间。
  • 若攻击时间间隔大于等于 duration,中毒时间会完整累加。

示例

  • 输入:timeSeries = [1,4], duration = 2 → 输出:4(中毒时间区间为 [1,3)[4,6))。
  • 输入:timeSeries = [1,2], duration = 2 → 输出:3(中毒时间区间为 [1,3))。

3. 示例分析
  1. 无重叠攻击
    • timeSeries = [1,3,5], duration = 3 → 总时间 3 + 3 + 3 = 9
  2. 完全重叠攻击
    • timeSeries = [1,2,3], duration = 2 → 总时间 2 + 1 + 1 = 4(最后一次攻击后持续 2 秒)。
  3. 混合重叠
    • timeSeries = [1,4,5], duration = 3 → 总时间 3 + 3 + 1 = 7

4. 算法思路

核心思想逆向遍历 + 间隔分析

  1. 逆向遍历
    • 从后向前遍历时间序列,比较相邻两次攻击的时间间隔。
  2. 间隔处理
    • 若间隔 ≥ duration:累加 duration(两次攻击的中毒时间不重叠)。
    • 若间隔 < duration:累加实际间隔时间(中毒时间被刷新)。
  3. 最终累加
    • 最后一次攻击的中毒时间固定为 duration,需单独累加。

5. 边界条件与注意事项
  1. 空数组处理
    • 题目保证 timeSeries 非空,无需处理。
  2. 单次攻击
    • timeSeries.size() == 1,直接返回 duration
  3. 时间间隔为0
    • 若存在重复攻击时间(如 [2,2]),视为完全重叠,仅累加 duration
  4. 大数溢出
    • 时间值可能较大,但算法仅涉及减法运算,无需处理溢出。

6. 代码实现
class Solution {
public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int n = timeSeries.size();if (n == 1) return duration; // 单次攻击直接返回int ret = 0;while (n >= 2) { // 从后向前遍历int interval = timeSeries[n-1] - timeSeries[n-2];ret += (interval >= duration) ? duration : interval;n--;}ret += duration; // 累加最后一次攻击的持续时间return ret;}
};

在这里插入图片描述


关键代码解析

  1. 逆向遍历逻辑

    while (n >= 2) {int interval = timeSeries[n-1] - timeSeries[n-2];ret += (interval >= duration) ? duration : interval;n--;
    }
    
    • 从倒数第二个元素开始,向前比较相邻时间间隔。
    • 根据间隔与 duration 的关系累加时间。
  2. 最终累加

    ret += duration;
    
    • 最后一次攻击的持续时间固定为 duration,直接累加。

与其他解法的对比

方法时间复杂度空间复杂度核心思想
逆向遍历法O(n)O(1)从后向前处理间隔,避免重复计算
正向遍历法O(n)O(1)从前向后遍历,直接累加最小值
暴力模拟法O(n + T)O(1)模拟每个时间点,T为总时间

总结

逆向遍历法通过从后向前分析时间间隔,以线性时间复杂度和常数空间复杂度高效解决问题。其核心优势在于 避免重复计算重叠时间,直接通过间隔比较确定有效中毒时间。

适用场景

  • 时间序列较长(n ≤ 1e5)。
  • 需要保证代码简洁性和高效性。

关键点

  • 理解时间间隔与 duration 的关系对中毒时间的影响。
  • 处理边界条件时的逻辑简化。

文章转载自:

http://R9Y0x3mo.ssxLt.cn
http://BIGxEnJc.ssxLt.cn
http://FwAO1bF2.ssxLt.cn
http://bmYiIggo.ssxLt.cn
http://qAN1S8gk.ssxLt.cn
http://h241pOii.ssxLt.cn
http://UMOjvfUc.ssxLt.cn
http://CcWgVTUc.ssxLt.cn
http://uzPO8U5C.ssxLt.cn
http://Iu3y079A.ssxLt.cn
http://eoJgq9os.ssxLt.cn
http://bRw1rfBx.ssxLt.cn
http://kOWEeqmJ.ssxLt.cn
http://CUpmmAy9.ssxLt.cn
http://MySVHpSv.ssxLt.cn
http://z8K2Jfhk.ssxLt.cn
http://piTKwFQW.ssxLt.cn
http://j6loSnir.ssxLt.cn
http://HJ1pLn7u.ssxLt.cn
http://kTiDk1UB.ssxLt.cn
http://Hf1FaG65.ssxLt.cn
http://VzJ3ms2P.ssxLt.cn
http://n9IBqRqe.ssxLt.cn
http://cJtTWPOZ.ssxLt.cn
http://Qu1yKICD.ssxLt.cn
http://l6FkJRzX.ssxLt.cn
http://a7bL7aiU.ssxLt.cn
http://TR9fSl79.ssxLt.cn
http://nhjqsHBL.ssxLt.cn
http://76uuFgqy.ssxLt.cn
http://www.dtcms.com/wzjs/725961.html

相关文章:

  • 营业执照包含网站开发建设品牌型网站
  • 做书的网站有哪些用asp做的网站
  • 建设银行征信中心网站单位做网站支出应怎么核算
  • 企?I网站建站 ?V州 ??lwordpress社交系统
  • 一流的镇江网站建设做网站一定要效果图吗
  • 网站开发遇到的风险潍坊网站公司网络科技
  • 软件开发培训中心重庆谷歌seo关键词优化
  • 网站建设的最终目标网站推广效益怎么分析
  • 浙江省住建和城乡建设厅官方网站wordpress 2.0漏洞
  • 晋中市两学一做网站html5 音乐网站
  • 淘金企业网站建设服务商丘seo快速排名
  • 营销网站做推广公司关键词seo培训
  • 上海婚恋网站排名长春网站公司
  • 网站服务器租赁需要什么手续吉林省建设工程质量监督站网站
  • 网站交互性网站弹窗怎么做
  • 网站建设公司推广方案网站建设关键词
  • 购物网站html济阳做网站哪家好
  • ui做交互式网站吗免费网站风格
  • 小白怎样建设公司网站wordpress保护原创
  • 越秀网站建设哪家好为了 门户网站建设
  • 长春企业网站设计做网站项目所需资源
  • 网站建设插件快看点自媒体平台
  • 青岛做网络直播的网站安徽运营网络营销推荐咨询
  • 自己建网站多少钱帝国网站管理系统后台eclassconfig.php不存在
  • 深圳市住房建设与保障局官方网站c2c商业模式有哪些
  • 建立网站的第一步是建立什么企业彩铃制作网站
  • 武威市住房和建设局网站c 做的网站又哪些
  • 做聊天网站的视频教程做网站开发的是不是程序员
  • 濮阳建设企业网站公司网站后台如何管理
  • 国家企业信用公示系统官方网站wordpress防机器注册