社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
面试时都会遇到不一样的面试官,面试官们除了最常见的java基础啊,项目经验什么的,偶尔还会考一些比较烧脑,也比较新颖的面试题,我也遇到不少。
前段时间,又有java面试,就此小记一下:
1、烧绳子定时间问题
题目是这样的:假设有两根质地均匀且一样的绳子,在两端任意一端点火,烧完都是需要一个小时。问:怎样得出15分钟的时间。
听到这样的问题,第一感觉就是像密室逃脱,在逃脱的环节需要定出15分钟做一件事情,超时就完蛋,但是身边又没有钟表,只有两根绳子和一个打火机。
那怎么办?需要这么搞:一根绳子点一头,另一根绳子点两头。等那点两头的绳子完全烧完时,剩下那根把另一头也点上,从此刻开始,到这根绳子烧完这段时间就是15分钟。
烧脑等级
有趣等级
2、飞机加油转圈圈问题
题目是这样的:视察机从基地起飞环球视察,视察机需要绕赤道飞行一圈,飞机可以空中加油,但是每个飞机只能携带一箱油且只够绕赤道飞半圈,飞机场可以提供足够多的同样的飞机(忽略起飞和加油的损耗)。问:需要多少架飞机可以保证环球视察任务回到起飞点,所有飞机回到起飞点最少耗油量是多少?单位:箱
看看模型:
针对这个问题,我们把赤道看成一个圆圈,从起飞点将其分成两半,当视察机在左边,加油机顺时针飞行,加完油原路返回机场。视察机在右边时,加油机逆时针起飞,加完油也原路返回。
这里需要注意一个问题,就是加油机飞行也耗油,需要保证有足够的油飞回。
看看如何解决:
至少需要3架飞机,a负责视察,b,c是加油机。
1)开始,a,b,c同时出发。在1/8处,c给a,b加满油,c返回。
2)在2/8处,b给a加满油,b返回
3)当a到4/8处,b,c携带满油 逆时针出发,到7/8处,c给b加满油,c返回
4)当a到达6/8处时,b也刚好到,b再给a加满油,此时a有2/4的油,可以飞回基地,b剩1/4
5)c回去后加满油继续出来接应b,到7/8处,c给b加1/4的油,使其足够飞回
6)a,b,c都回到基地,图示如下:
上面的分析而言,至少要3架飞机。总耗油:3 + 2 + 1 - (1/4 + 1/4) = 5.5箱
烧脑等级
有趣等级
3、小和尚量酒
题目是这样的:因为香火太少,寺里和尚就卖起了酒。有位顾客来买酒,要6升,可是寺里只有7升和9升的酒桶
请问小和尚该怎么办?
这个应该是很经典的问题,通过剩余转换,完成需要的数值
看看如何解决:
1、9桶装满,倒入7桶里,9桶剩2升(9-7=2)
2、把9桶的2升倒给7桶,9桶再装满,再倒满7桶,此时9桶剩4升(9-5=4)
3、把9桶的4升倒给7桶,9桶再装满倒给7桶,此时9桶剩6升(9-3=6)
这类问题好像没有固定的公式,需要剩余思维,经过我地探索分析得到一个此类问题万能解决办法
烧脑等级
有趣等级
未完待续。。。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!