本文主要是介绍面试题2:25人赛跑问题-得出前三名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一共有25个人参加赛跑比赛,但是只有五条赛道,同时只能保证五个人进行比赛,问至少比赛多少次可以选出前三名。
思路:
1、将25个人分成五组,比赛五次,每组选出前三名。计5次。
2、让每一组的第一名进行一轮比赛,选出前三名,设为A1>B1>C1。计1次。
淘汰D、E全组
C1最多是第3名,淘汰C2,C3
B1最多是第2名, B2最多是第3名,淘汰B3.
A1一定是第1名,不参与接下来的比赛。
3、这时候,剩下5名选手,进行最后一轮比赛,选出两名,加上A1,共计三位选手。计1次。
所以,至少比赛7次可以选出前三名。
| A2 | A3 |
B1 | B2 |
|
C1 |
|
|
|
|
|
|
|
|
这篇关于面试题2:25人赛跑问题-得出前三名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!