逻辑面试题:猴子搬香蕉

关注下方公众号,分享硬核知识

作者 | 小K

出品 | 公众号:小K算法 (ID:xiaok365)

01

故事起源

一只小猴子边上有100根香蕉,此地距离它家50米,小猴想搬香蕉回家,但有以下几个条件:  

  • 每次它最多搬50根

  • 它每走1米就要吃掉1根

请问小猴最多能把多少根香蕉搬回家呢?

02

初步思考

小猴同学最多只能搬50,那就搬50根往家走。

很快我们就能发现问题,所剩香蕉与行走距离有如下线性关系,当走到家时,香蕉为0。

还记得小K之前写过一篇文章,240L水的问题,240L水
这两个问题有很大的共同点。把小猴同学想象成一辆车,香蕉想象成油,每前进1米消耗1根。整个过程就是一个运输过程。之所以出现上面的问题,就在于运输效率会线性下降,快到家时,车上只有几根香蕉,但油耗依然不变。

所以还是要采用之前的思路,通过中转来提高运输效率,尽量满载。

03

中转

总共100根,所以转运最多2趟。而且小猴同学不用返回出发地,所以中转地与出发地之间往返3次。

中转是为了下一次能够一次运输完,所以到达中转地之后,香蕉数要小于等于50。
设到中转站x米,则100-3x<=50,x=17米。

所以第一次搬50到17米处,留下16根,再拿17根返回出发地。第二次搬50到中转站剩下33根,总共49根。然后拿上49根回家,还剩下16根。

04

每一米转运

这里借用一下微分的思想,将中转无限分段,假设每隔1米转运1次,那么每一段之间都是往返3次。如果再把这些区间积起来,其实就和上面的思想一样了。

走到16米的地方还有一个特别的点。现在还有52根香蕉,距离家还有34米。此时只拿50根回家,也能搬回16根香蕉。

05

总结

这类问题最直观的第一感觉,就是越到后面阶段,运输效率越低,所以能想到中转。跟现实生活中的快递运输是一样的,快递也会有很多的中转站。之前240L水的问题,有读者同学反馈,到达第3站的地方,还可以在6.25公里的地方卖掉35L,剩60L再继续运输3.125公里,此时卖掉还可以得到更高的收益2275.78125,也感谢这位同学的反馈。中转站的设立是可以无限微分划区间,再用积分来计算,但这样就太复杂了,所以用分段的思想能解决大部分的问题。

本文原创作者:小K,一个思维独特的写手。
文章首发平台:微信公众号【小K算法】。

如果喜欢小K的文章,请点个关注,分享给更多的人,小K将持续更新,谢谢啦!

关注下方公众号,分享硬核知识

关注我,涨知识

原创不易,感谢分享

转发,点赞,在看

往期精彩回顾

逻辑面试题:1+1=2最复杂的打开方式

经典智力面试题:一家人过桥

微软面试题:红帽子与黑帽子

分享给更多朋友,转发,点赞,在看

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值