蚂蚁爬杆问题

一根很细很细的杆子,两端开放,长27公分,上面有五只蚂蚁,分别在3公分、7公分、11公分、17公分、23公分的地方,蚂蚁的爬行速度都一样,1公分/秒,如果两只蚂蚁相遇,那么它们都回掉头反向爬行,问五只蚂蚁全部从杆子上爬下来的最短时间,最长时间各是多少?

传说这道题目是百度的面试题目,昨天在社区里看到,今天不知道哪里去了,就记下来了,好像没什么出入。

题目很简单的,不过开始的时候还是煞有介事的写了个程序模拟了一下,最短11秒钟,最长24秒钟,呵呵,程序就不记了,简单的很。程序写完了之后仔细想了一下,原来就是求哪个蚂蚁的路程最远,算最短时间的时候每只蚂蚁都朝着离自己最近的一端爬,算最长时间的时候每只蚂蚁都朝着离自己最远的一端爬,那么距离最长的那个用的时间就是答案。这里不可避免的问题就是相遇,其实各个蚂蚁的速度都相同,相遇就掉头,那么就跟没有相遇一样,大家互相穿过,继续各走各的路,互不影响。看清楚了这个本质,那么这个问题就没什么了,所谓的相遇不能绕过只能掉头之类的说法不过是障眼法,不用去理的。

所以,问题的最后就是从一组数字中找出其中的最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值