腾讯二面 智力题 赛马问题
有 64 匹马 赛跑,没有任何秒表之类的计时工具,跑道每次只允许 8 匹马 同时比,问 最少 需要比赛几场才能够选出跑的最快的 前 4 名?
-
当前共 64🐎
-
分成 8 组(A B C D E F G H),比赛 8 次记录排名。
- 淘汰每组的后4名(8组 * 4🐎 = 32🐎)
-
当前剩 32🐎,比赛 8 场
-
每组的第一名进行比赛【A1:A组的第一名】
- 假设排名是(A1 B1 C1 D1 E1 F1 G1 H1)
- 淘汰这次比赛后四名所在的组
- 淘汰 EFGH 组(4组 * 4🐎 = 16🐎)【组第一都进不了前四其他的更不可能】
-
当前剩 16🐎,比赛 9 场
- 假设剩下【(A1,A2,A3,A4),(B1,B2,B3,B4),(C1,C2,C3,C4),(D1,D2,D3,D4)】
- 第一:A1
- 第二:A2 B1
- 第三:A2 A3 B1 B2 C1
- 第四:A2 A3 A4 B1 B2 B3 C1 D1
- 比赛(A2 A3 A4 B1 B2 B3 C1 D1)取出前三即可
-
当前剩 4🐎,比赛 10 场