在 Python 中查找平均等待时间的程序
假设我们有一个数组customers,其中customers[i] = 持有一对[arrival_i, time_i],这里arrival_i 是第i 个顾客的到达时间。并且到达时间从少到高排序。而 time_i 是准备第 i 个客户的订单所需的时间。现在,当顾客到达时,他/她下订单,当厨师空闲时,唯一的订单开始准备。厨师一次不会为多个顾客准备食物。他准备好按顺序给他们下订单。我们必须找到所有客户的平均等待时间。
因此,如果输入类似于customers = [[7,2],[8,4],[10,3],[20,1]],那么输出将是3.5,因为,
第一个顾客在时间 7 出现,厨师接受订单并在时间 7 立即开始准备,并在时间 9 完成,因此第一个顾客的等待时间为 9 - 7 = 2。
第二个顾客在时间 8 时来了,厨师接受他的订单并在时间 9 开始准备它,并在时间 13 完成,所以第二个顾客的等待时间是 13 - 8 = 5。
第三位顾客在时间 10 来了,厨师接受他的订单并在时间 13 开始准备它,并在时间 16 完成,所以第三位顾客的等待时间是 16 - 10 = 6。
第四位顾客在时间 20 来了,厨师接受他的订单并在时间 20 立即开始准备,并在时间 21 完成,因此第四位顾客的等待时间为 21 - 20 = 1。
所以平均等待时间 = (2 + 5 + 6 + 1) / 4 = 3.5。
示例
让我们看看以下实现以获得更好的理解 -
def solve(customers):arr = []
time = 0
for i , j in customers:
if(i > time):
time = i + j
else:
time += j
arr.append(time - i)
return sum(arr) / len(arr)
customers = [[7,2],[8,4],[10,3],[20,1]]
print(solve(customers))
输入
[[7,2],[8,4],[10,3],[20,1]]输出结果
3
以上是 在 Python 中查找平均等待时间的程序 的全部内容, 来源链接: utcz.com/z/343746.html