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

力扣刷题(第一百天)

灵感来源 

- 保持更新,努力学习

- python脚本学习

 提莫攻击

解题思路

  1. 初始化总中毒时间 total
  2. 遍历每次攻击的时间点(从第二个开始):
    • 计算当前攻击与前一次攻击的时间间隔 gap
    • 若 gap < duration,则本次中毒时间为 gap;否则为 duration
  3. 最后加上最后一次攻击的持续时间。
    class Solution:def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:n = len(timeSeries)if n == 0:return 0total = 0# 遍历计算相邻两次攻击的间隔for i in range(1, n):gap = timeSeries[i] - timeSeries[i-1]# 若间隔小于duration,则本次中毒时间为gap;否则为durationtotal += min(gap, duration)# 加上最后一次攻击的持续时间total += durationreturn total

逐行解释

class Solution:def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:n = len(timeSeries)  # 获取攻击次数if n == 0:           # 处理空数组的特殊情况return 0total = 0  # 初始化总中毒时间# 遍历计算相邻两次攻击的间隔for i in range(1, n):# 计算当前攻击与前一次攻击的时间间隔gap = timeSeries[i] - timeSeries[i-1]# 如果间隔小于持续时间duration,说明两次攻击的中毒效果有重叠# 本次攻击的有效中毒时间为gap(即前一次中毒结束前的时间)# 否则,本次攻击的中毒时间为完整的durationtotal += min(gap, duration)# 最后一次攻击的中毒时间必然是完整的duration# 因为之后没有新的攻击来中断这个中毒效果total += durationreturn total

http://www.dtcms.com/a/300962.html

相关文章:

  • 【多模态】天池AFAC赛道四-智能体赋能的金融多模态报告自动化生成part1-数据获取
  • Linux之shell脚本篇(三)
  • 从0开始学linux韦东山教程Linux驱动入门实验班(6)
  • Linux Shell 命令
  • LabVIEW人脸识别
  • k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略
  • Vue基础(25)_组件与Vue的内置关系(原型链)
  • ESP32-S3学习笔记<7>:GP Timer的应用
  • 力扣热题100----------41.缺少的第一个正数
  • JavaScript单线程实现异步
  • [ The Missing Semester of Your CS Education ] 学习笔记 shell篇
  • 浅谈如何解决多组件系统相互依赖、调用导致接口复杂问题
  • 深入理解Java内存与运行时机制:从对象内存布局到指针压缩
  • 命令行和neovim的git操作软件-lazygit
  • 探索 Vim:Linux 下的高效文本编辑利器
  • Unity Catalog与Apache Iceberg如何重塑Data+AI时代的企业数据架构
  • Windows 11 Qt 5.15.x 源码编译,支持C++20
  • 字节跳动Coze Studio开源了!架构解析
  • 01人工智能中优雅草商业实战项目视频字幕翻译以及声音转译之底层处理逻辑阐述-卓伊凡|莉莉
  • go mod教程、go module
  • docker 自定义网桥作用
  • JavaScript手录07-数组
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-38,(知识点:晶体管放大电路频率特性,下限截止频率)
  • 将 JsonArray 类型的数据导出到Excel文件里的两种方式
  • 内存泄漏问题排查
  • mmap的调用层级与内核态陷入全过程
  • java8+springboot2.5.4环境Markdwon转word
  • 设计模式(十四)行为型:职责链模式详解
  • add新增管理员功能、BaseController类的简介--------示例OJ
  • linux安装nvm教程