经典面试题【蚂蚁过杆】

经典面试题【蚂蚁过杆】

面试题库【蚂蚁过杆】【小球过杆】


一、常见题目

有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。

求全部下杆最短时间?

答案: 11

求全部下杆最长时间?

答案: 24

二、详细思路

1.已知条件

从题目中我们得到已知的条件是:

  1. 27厘米长。
  2. 第3厘米、7厘米、11厘米、17厘米、23厘米。
  3. 只能通过一只蚂蚁。
  4. 碰头时,两只蚂蚁会朝反方向走

转换思维

蚂蚁碰头后掉头,可以当作蚂蚁穿过对方,即蚂蚁碰头不损耗时间。
也就是说若 1 2 相遇,则将转头后的 2 视作 1 ,转头后的 1 视作 2.
由于求的是所有蚂蚁的最短最长,不影响蚂蚁之间的编号交换。

时间也就是算出每一只蚂蚁从初始位置直接到离开木杆的场景。

2.求最短

以木杆中心为基准,左边的蚂蚁往左走,右边的蚂蚁往右走,此时即为最短时间。

最短:

根据条件

  1. 27厘米长。
  2. 第3厘米、7厘米、11厘米、17厘米、23厘米。

那么中心 13.5 左边的 3,7,11朝左走,最晚为 11 为 11 秒
17,23朝右走,最晚为 17 为 10秒
此时 11 的蚂蚁最晚走下,为 11 秒

3.求最长

以木杆中心为基准,左边的蚂蚁往右走,右边的蚂蚁往左走,此时即为最长时间。

最短:

根据条件

  1. 27厘米长。
  2. 第3厘米、7厘米、11厘米、17厘米、23厘米。

那么中心 13.5 左边的 3,7,11朝右走,最晚为 3 为 24 秒
17,23朝左走,最晚为 23 为 23 秒
此时 3 的蚂蚁最晚走下,为 24 秒


三、相似的题型

有一根25厘米的细木杆,在第1厘米、6厘米、9厘米、11厘米、16厘米、21厘米这六个位置上各有一颗小球。开始时,小球的朝向朝左还是朝右是任意的。木杆只能同时通过一颗小球。当任意小球相互碰撞时不会损耗动能,会按照原速度向反向向滚去。假设小球每秒钟可以滚一厘米。


总结

蚂蚁过杆是一道经典算法面试题,但是你将小球视作穿越,则会让你恍然大悟,算法只是一个思路。

希望这个博客能对你有所益处。我是轻王,我为自己代言。

猜你喜欢

转载自blog.csdn.net/moer0/article/details/123326127