python中的贪心算法-求顾客的最小的等待时间

一. 设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti(1<=i<=n)。如何安排n个顾客的服务次序才能使顾客总的等待时间达到最小?


n=int(input('请输入顾客的位数: '))

times=[]
for i in range(n):
    time=int(input(f'请输入顾客{i+1}的服务时间: '))
    times.append(time)
times.sort()
total_time=0
for i, time in enumerate(times):
    total_time += time
    print(f'服务顾客{i+1},等待时间为{total_time}')

print(f'总的等待时间为{total_time}分钟')


案例:
请输入顾客的位数: 5
请输入顾客1的服务时间5
请输入顾客2的服务时间3
请输入顾客3的服务时间1
请输入顾客4的服务时间5
请输入顾客5的服务时间8
服务顾客1,等待时间为1
服务顾客2,等待时间为4
服务顾客3,等待时间为9
服务顾客4,等待时间为14
服务顾客5,等待时间为22
总的等待时间为22分钟

进程已结束,退出代码0



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想做程序猿的员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值