浅谈 赛马问题

题目

一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?

思考

朴素想法

最朴素的想法,就是

  1. 分为5组 组内跑一次
  2. 5个组的组内第一 跑一次
  3. 然后接下来就跟优先队列一样,每次跑之前被挑出去的组的后一个

所以这样的想法就是 5(组内跑)+5(一次能跑出一个top1) 10 次

优化思想

假设我们现在已经跑完top3了,假设top3是 (A1, A2, A3)
那么还剩 这5个可能是 top4 和 top5

A4, A5
B1 B2
C1

所以 最后 top4和top5一次就能跑完

所以 我能想到的就是 9次 跑出来top5

欢迎参与讨论

转载于:https://www.cnblogs.com/Draymonder/p/11485734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值