找回密码
 立即注册
首页 业界区 安全 leetcode每日一题:酿造药水需要的最少总时间 ...

leetcode每日一题:酿造药水需要的最少总时间

益竹月 2025-6-1 20:33:05
1.jpeg

引言

​                今天的每日一题原题是2255. 统计是给定字符串前缀的字符串数目,直接模拟,逐个匹配words中的字符串是否是s的前缀即可。更换成前几天遇到的更有意思的一题来写这个每日一题。
题目

给你两个长度分别为 n 和 m 的整数数组 skill 和 mana 。
在一个实验室里,有 n 个巫师,他们必须按顺序酿造 m 个药水。每个药水的法力值为 mana[j],并且每个药水 必须 依次通过 所有 巫师处理,才能完成酿造。第 i 个巫师在第 j 个药水上处理需要的时间为 timeij = skill * mana[j]。
由于酿造过程非常精细,药水在当前巫师完成工作后 必须 立即传递给下一个巫师并开始处理。这意味着时间必须保持 同步,确保每个巫师在药水到达时 马上 开始工作。
返回酿造所有药水所需的 最短 总时间。
示例 1:
输入: skill = [1,5,2,4], mana = [5,1,4,2]
输出: 110
解释:
药水编号开始时间巫师 0 完成时间巫师 1 完成时间巫师 2 完成时间巫师 3 完成时间005304060152535860642545878861023868898102110举个例子,为什么巫师 0 不能在时间 t = 52 前开始处理第 1 个药水,假设巫师们在时间 t = 50 开始准备第 1 个药水。时间 t = 58 时,巫师 2 已经完成了第 1 个药水的处理,但巫师 3 直到时间 t = 60 仍在处理第 0 个药水,无法马上开始处理第 1个药水。
示例 2:
输入: skill = [1,1,1], mana = [1,1,1]
输出: 5
解释:

  • 第 0 个药水的准备从时间 t = 0 开始,并在时间 t = 3 完成。
  • 第 1 个药水的准备从时间 t = 1 开始,并在时间 t = 4 完成。
  • 第 2 个药水的准备从时间 t = 2 开始,并在时间 t = 5 完成。
示例 3:
输入: skill = [1,2,3,4], mana = [1,2]
输出: 21
提示:
<ul>n == skill.length
m == mana.length
1
您需要登录后才可以回帖 登录 | 立即注册