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

Leetcode 3538. Merge Operations for Minimum Travel Time

  • Leetcode 3538. Merge Operations for Minimum Travel Time
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3538. Merge Operations for Minimum Travel Time

1. 解题思路

这一题思路上就是一个动态规划的思路,我们只需要考察每一个位置如果不进行merge的情况与进行merge的情况,然后取其中的较小值即可。

其中,如果不进行merge,那么当前段路程的速度就是当前节点下的速度,其下一段的速度就是time序列当中下一段节点的速度。

反之,如果当前结果要进行merge,那么当前节点的速度依然保持为之前记录的当前节点的速度,而其下一段的速度就是在之前记录的下一段速度的基础上加上time序列中下一个节点的时间。

2. 代码实现

给出python代码实现如下:

class Solution:def minTravelTime(self, l: int, n: int, k: int, position: List[int], time: List[int]) -> int:@lru_cache(None)def dp(idx, k, present, nxt):if idx + k == n-2:return present * (l - position[idx])if k == 0:return present * (position[idx+1] - position[idx]) + dp(idx+1, k, nxt, time[idx+2])return min(present * (position[idx+1] - position[idx]) + dp(idx+1, k-1, present, nxt + time[idx+2]),present * (position[idx+1] - position[idx]) + dp(idx+1, k, nxt, time[idx+2]),)return dp(0, k, time[0], time[1])

提交代码评测得到:耗时253ms,占用内存47.4MB。

相关文章:

  • 当SONiC遇到CPO,SONiC对共封装光接口的管理
  • ubuntu-PyQt5安装+PyCharm配置QtDesigner + QtUIC
  • 码蹄集——偶数位、四边形坐标
  • 电动调节V型球阀的作用:专为颗粒状含碱浆液介质打造的高效解决方案-耀圣
  • Easy云盘总结篇-文件上传02
  • 2025年PMP 学习三
  • 爬虫管理平台-最新版本发布
  • 学习spring boot-拦截器Interceptor,过滤器Filter
  • ResNet改进(36):ResNeXt与ResNet的混合模型实现
  • 解决:前后端跨域请求
  • 【Java学习笔记】可变参数
  • 深入解析Linux进程间通信(IPC):机制、应用与最佳实践
  • 【Java 并发编程】线程的基本使用(持续更新优化)
  • 全面掌握 Jetpack Compose 的 State 体系:核心用法与最佳实践
  • 深入理解线程死锁:从概念到 Java 实战
  • 【win11 】win11 键盘测试
  • 【Python】存储机制和容器四大件列表、元组、字典、集合
  • 【言语理解】中心理解题目之选项分析
  • Java捕获InterruptedException异常后,会自动清空中断状态
  • 卷积神经网络实战(2)
  • 李公明 | 一周画记:生活就是抵抗
  • 贵州黔西市游船倾覆事故致9人死亡1人失联
  • 印度扩大对巴措施:封锁巴基斯坦名人账号、热门影像平台社媒
  • 准80后遵义市自然资源局局长陈清松任仁怀市委副书记、代市长
  • 对谈|“对工作说不”是不接地气吗?
  • 解放日报:人形机器人新赛道正积蓄澎湃动能