赛马问题

博客汇总了多个经典算法面试题,包括赛马问题,需确定25匹马中最快的5匹最少比赛场数;火车运煤问题,探讨3000吨煤经1000公里运输如何运最多到集市;还有飞机加油、两个鸡蛋、过桥倒水及随机函数等问题,并给出部分解析链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 赛马问题:

  一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?(不能使用撞大运的算法

解析:http://hxraid.iteye.com/blog/662643

2. 火车运煤问题:

  你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?

解析:

因为是3000吨的煤总量,所以将路线分割为3段,也就是中间设置两个节点。三段路程分别是x/y/z。
原因如下:
让3000吨货物到第一个节点时能留下2000吨煤,
让2000吨货物到第二个节点时能留下1000吨煤,
这样最后火车可以满载1000吨煤走剩下的最后一段路线,达到运载货物最多的目的。
(总之,每个节点都要有1000整数的煤,以达到最大化,避免零头浪费)
第1个节点公式
公式 3000-5x=2000,得出x=200
第2个节点公式
公式 2000-3y=1000,得出y=333.3循环
则 z=1000-x-y=466.6循环
最后剩余1000-z=533.3循环吨煤
如果是4000吨煤,每次最大运输也是1000吨煤,则分4段路程,设3个节点
总的想法是让火车每次往前运煤都尽量处于满载状态

3. 飞机加油问题:

  3架飞机,5架次

4. 两个鸡蛋问题:

楼层扔鸡蛋问题

Google面试题:扔鸡蛋问题

Problem of Two Eggs

100层楼扔两个鸡蛋的问题

5. 过桥问题和倒水问题:

http://blog.youkuaiyun.com/morewindows/article/details/7481851

6. 随机函数的面试题

转载于:https://www.cnblogs.com/gattaca/p/4662047.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值