发布日期:2026-03-24 08:17 点击次数:68

2026-03-23:完成通盘送货任务的最少时辰。用go谈话,有两架送货无东说念主机,对应两个长度为 2 的整数数组:
步地如下:
• 每次送货固定耗时 1 小时
• 在团结时辰内,最多只可有一架无东说念主机实行送货任务
• 无东说念主机 i 在时辰为 ri 的倍数时必须进行充电,充电时间不可送货
目的是合理安排两架无东说念主机的使命与充电时辰,使得通盘送货任务沿途完成,并复返所需的最短总时辰(单元:小时,整数)。
d = [d1, d2]。
1
r = [r1, r2]。
2
输入: d = [3,1], r = [2,3]。
输出: 5。
诠释:
第一架无东说念主机在第 1、3、5 小时送货(在第 2、4 小时充电)。
第二架无东说念主机在第 2 小时送货(在第 3 小时充电)。
题目来独力扣3733。
代码解题历程:
第一步:证据中枢公式f(d, r)的含义
函数f(d, r) = d + (d-1)/(r-1)(整数除法)是单架无东说念主机颓落完成任务的最短时辰。
• 单架无东说念主机步地:每r小时必须充电1小时,每次送货1小时,团结时辰只颖悟一件事;
• 公式含义:总时辰 = 送货总耗时 + 充电总耗时;
• 例如考据:
1. 第一架无东说念主机:d1=3次,r1=2小时充电一次
送货3次耗时3小时,充电次数=(3-1)/(2-1)=2次,总时辰=3+2=5小时;
2. 第二架无东说念主机:d2=1次,r2=3小时充电一次
送货1次耗时1小时,充电次数=(1-1)/(3-1)=0次,总时辰=1+0=1小时。
第二步:贪图两架无东说念主机充电周期的最小公倍数lcm(r1, r2)
代码先算最大契约数gcd,再算最小公倍数lcm(两个数的群众充电周期):
1. 贪图gcd(2,3):2和3的最大契约数是1;
2. 贪图lcm(2,3):2*3/1=6,即两架无东说念主机每6小时会同期充电一次。
第三步:贪图两架无东说念主机联结完成总任务的最短时辰
总送货次数 = d1+d2 = 3+1=4次,天博体育群众充电周期lcm=6;
代入公式得联结时辰:f(4,6) = 4 + (4-1)/(6-1) = 4+0=4(整数除法,3/5=0)。
第四步:取三个时辰的最大值,得到最终谜底
代码司帐算三个关键时辰,最大值便是粗糙通盘步地的最少总时辰:
1. 第一架无东说念主机颓落墟间:5;
2. 第二架无东说念主机颓落墟间:1;
3. 两架无东说念主机联结总任务时辰:4;
4. 最大值max(5,1,4)=5,与题目输出一致。
第五步:考据时辰安排(匹配题目诠释)
最终时辰5小时,完满适合通盘步地:
• 第1小时:无东说念主机1送货;
• 第2小时:无东说念主机2送货(无东说念主机1充电);
• 第3小时:无东说念主机1送货(无东说念主机2充电);
• 第4小时:无东说念主机1充电;
• 第5小时:无东说念主机1送货;
完成3+1=4次送货,无时辰打破,无违纪充电。
时辰复杂度与特等空间复杂度分析
1. 时辰复杂度
• 中枢操作:gcd(欧几里得算法)、lcm、三次公式贪图、取最大值;
• 欧几里得算法的时辰复杂度为O(log(min(a,b))),是对数级极小支拨;
• 其余操作齐是O(1) 常数时辰;
• 总时辰复杂度:O(log(min(r1, r2))),可相似看作O(1)。
2. 特等空间复杂度
• 代码仅使用了固定数目的变量(d1,d2,r1,r2,lcm等),大量组、切片、动态内存分拨;
• 特等空间不随输入数据边界变化;
• 总和外空间复杂度:O(1)。
回归
1. 解题中枢:先算单架无东说念主机颓落墟间,再算群众充电周期下的联结时辰,最终取最大值;
2. 时辰复杂度:O(log(min(r1,r2)))(相似常数级);
3. 特等空间复杂度:O(1)(常数级)。
Go完整代码如下:
package main
import (
"fmt"
)
func f(d, r int)int {
return d + (d-1)/(r-1)
}
func minimumTime(d, r []int)int64 {
d1, d2 := d[0], d[1]
r1, r2 := r[0], r[1]
l := lcm(r1, r2)
returnint64(max(f(d1, r1), f(d2, r2), f(d1+d2, l)))
}
func gcd(a, b int)int {
for a != 0 {
a, b = b%a, a
}
return b
}
func lcm(a, b int)int {
return a / gcd(a, b) * b
}
func main {
d := []int{3, 1}
r := []int{2, 3}
result := minimumTime(d, r)
fmt.Println(result)
}

Python完整代码如下:
# -*-coding:utf-8-*-
import math
def f(d: int, r: int) -> int:
"""贪图单架无东说念主机在给定充电周期下完成 d 次送货所需的最小小时数"""
return d + (d - 1) // (r - 1)
def lcm(a: int, b: int) -> int:
"""贪图最小公倍数"""
return a // math.gcd(a, b) * b
def minimum_time(d: list, r: list) -> int:
"""
贪图两架无东说念主机完成通盘送货所需的最小总时辰
Args:
d: 送货次数数组 [d1, d2]
r: 充电周期数组 [r1, r2]
Returns:
最小总时辰(小时数)
"""
d1, d2 = d[0], d[1]
r1, r2 = r[0], r[1]
# 贪图充电周期的最小公倍数
l = lcm(r1, r2)
# 取三种决策的最大值
# 1. 第一架无东说念主机单独完成所需时辰
# 2. 第二架无东说念主机单独完成所需时辰
# 3. 两架无东说念主机以 l 为周期协同使命完成通盘任务所需时辰
return max(f(d1, r1), f(d2, r2), f(d1 + d2, l))
def main:
d = [3, 1]
r = [2, 3]
result = minimum_time(d, r)
print(result)
if __name__ == "__main__":
main

C++完整代码如下:
#include
#include
#include
using namespace std;
int f(int d, int r) {
// 贪图单架无东说念主机在给定充电周期下完成 d 次送货所需的最小小时数
return d + (d - 1) / (r - 1);
}
int gcd(int a, int b) {
// 贪图最大契约数
while (a != 0) {
int temp = a;
b = temp;
}
return b;
}
int lcm(int a, int b) {
// 贪图最小公倍数
return a / gcd(a, b) * b;
}
long long minimumTime(vector& d, vector& r) {
int d1 = d[0], d2 = d[1];
int r1 = r[0], r2 = r[1];
// 贪图充电周期的最小公倍数
int l = lcm(r1, r2);
// 取三种决策的最大值
// 1. 第一架无东说念主机单独完成所需时辰
// 2. 第二架无东说念主机单独完成所需时辰
// 3. 两架无东说念主机以 l 为周期协同使命完成通盘任务所需时辰
return max({f(d1, r1), f(d2, r2), f(d1 + d2, l)});
}
int main {
vector d = {3, 1};
vector r = {2, 3};
long long result = minimumTime(d, r);
cout
return0;
}

咱们笃信东说念主工智能为世俗东说念主提供了一种“增强器具”,并辛勤于于共享全主意的AI学问。在这里,您不错找到最新的AI科普著述、器具评测、培植后果的诡秘以及行业洞悉。
接待柔和“福大大架构师逐日一题”,发音书可赢得口试费事天博体育,让AI助力您的改日发展。
米兰app官方网站
在漫展的闪光灯下,你可能会碰见这么一个女孩——她cos的变装像是获胜从动漫里跳出来的,但比纸片东说念主更多了三分灵动。这便是上田亜夢,一个用笑貌冲破次元壁的魔法青娥。 算作日本孤立艺东说念主,她的平淡便是在写照、动漫和cosplay之间解放切换。上昼可能依然校园写照里的清纯学妹,下昼就酿成了来往系动漫里的酷炫女主。最绝的是她那种"一秒入戏"的智商,戴上金色假发便是傲娇公主,换上忍者装又能变身暗夜杀手。 有东说念主说她是"行走的二次元进口"。如实,看她cos的变装,总让东说念主朦拢以为漫画变装确...
在漫展的闪光灯下,你可能会碰见这么一个女孩——她cos的变装像是获胜从动漫里跳出来的,但比纸片东说念主更多了三分灵动。这...
🔥 80后们还谨记小技能追过的动漫吗?那些经典脚色在咱们心里留住了不能褪色的钤记。最近,一个话题火了——“当动漫东说念主...
若是你看过《名侦察柯南》,那你一定对一个画面印象极深。 白衣弁冕、披风翻飞的怪盗基德,一张张扑克牌像枪弹相同飞出去,“啪...
老的自来也在加强之后强度很高,但其后进行了减弱,跟自来也同时的老忍者再不斩进行了重作念升级后强度也有了昭彰的变化,分离即...
