25人赛跑问题-得出前三名

今天看到一个面试题 问题是这样的:

25个人, 每5人1个跑道, 最少经过几次赛跑, 得到前3名

答案为  7

思路: 1.每组5人,比赛一次, 可得出 这5组的第一名  ,比赛了5次

2. 再将这第一名的5人比赛一次,可以得出第一名, 由于要得出前三名,所以这次比赛的第四名和第五名以及所在的组都慢,所以就不再考虑了,比赛了6次

3.在2中的第一名所在的组有可能含有第二名和第三名记为A2,A3,在2中第二名在所的组有可能含有第三名记为B2,再加上2中的第三名,共5人,再比赛一次,可以得出2,3名,即25人中的2,3名.,比赛了7次

综上,共需要7次比赛,这道题的难点在于 如何确保公平性

如果上边的看不懂,看下面的

第六次比赛,五个第一排出12345名,这五个里面4,5名和所在的组全部排除

第七次,就是1组23,和2组12,3组1,他们五个比

所以 

 第六次确定第一名,第七次确定第二名和第三名

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值