本文主要是介绍算法:从25匹马中选出最快的三匹马,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本题来源于面试中的一道题。
题目:给你25匹马,你有个赛道每次最多同时跑5匹马,没有表和计数器之类的东西,请问至少跑几次可以找出最快的三匹马?
思路:首先将这25匹马随机分成1,2,3,4,5共5组,每组跑完,用了5场;把每组第一名取出来做A组,跑完,用了1场,这场最快的马就是25匹中最快的,把这些A组的马按速度分别命名为a,b,c,d,e,其中a最快,e最慢;把a马第一次跑时所在组的第二第三名拿出来,当作x,y;把b马第一次跑时所在组的第二名拿出来,当作z;把x,y,z,b,c五匹马当作B组,跑完,用了1场,其中最快的马是实际第二名,第二快的马是实际第三名。一共7场。
这篇关于算法:从25匹马中选出最快的三匹马的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!