当前位置: 首页 > 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。

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

相关文章:

  • 当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)
  • [ML]通过50个Python案例了解深度学习和神经网络
  • VulnHub-OSCP靶机
  • 【神经网络与深度学习】生成模型-单位高斯分布 Generating Models-unit Gaussian distribution
  • 超详细讲解C语言转义字符\a \b \r \t \? \n等等
  • 单调栈与单调队列(c艹)、可视化Qt?
  • Android第三次面试总结之网络篇补充
  • 使用 Hugging Face 镜像站快速下载大模型
  • emplace_back和push_back
  • 五、shell脚本--函数与脚本结构:搭积木,让脚本更有条理
  • Vultr之Ubuntu重设密码