面试遇到的问题。
25匹马5个赛道,每个赛道每次只能跑一匹马,问最少需要跑几次,能求出跑得最快的三匹马。只知道相对速度,不知道绝对速度。
1、首先每5匹马分一组,跑5次,每次选出跑的最快的3匹马。
2、然后,每次跑的最快的马,跑1次,得到顺序A1,B1,C1,D1,E1,此时得到第一名
3、然后,将可能是第二三名的马,A1所在组的A2、A3,B1所在的组的B2,还有B1、C1 ,即A2、A3、B2、B1、C1 ,5匹马跑一次,得到第二名和第三名。
所以,最少需要跑7次。
面试遇到的问题。
25匹马5个赛道,每个赛道每次只能跑一匹马,问最少需要跑几次,能求出跑得最快的三匹马。只知道相对速度,不知道绝对速度。
1、首先每5匹马分一组,跑5次,每次选出跑的最快的3匹马。
2、然后,每次跑的最快的马,跑1次,得到顺序A1,B1,C1,D1,E1,此时得到第一名
3、然后,将可能是第二三名的马,A1所在组的A2、A3,B1所在的组的B2,还有B1、C1 ,即A2、A3、B2、B1、C1 ,5匹马跑一次,得到第二名和第三名。
所以,最少需要跑7次。