几道大厂面试经常问到的智力题

这篇文章总结很全,建议看看——https://www.cnblogs.com/XJT2018/p/11539661.html

1、玻璃球与楼层
题目:有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层??

答:https://blog.****.net/coolws123/article/details/22998879

假设问题存在最优解,这个最优解的最坏情况尝试次数是x次

那么第一次时我们就得从第x层开始,因为

若从x+1层扔后碎了,后面还需要尝试x次,总次数x+1,不符合
若从x-1层扔后碎了,后面需要x-2次,总次数x-1,不符合
若就从x层扔后碎了,后面需要x-1次,总次数x次,符合
若第一次扔后没碎,那么问题变成在100-x层楼往下扔,要求尝试次数不得超过x-1次,由于最坏尝试次数变成了x-1,那么第二次尝试的楼层跨度变成x-1层,理由同上,同理若没碎,则第三次x-2……

则当前楼层数为:x层->x+x-1层->x+x-1+x-2层

因此可以列出方程式:x+(x-1)+(x-2)+…+1=100 —àx=14

左边的多项式是各次扔鸡蛋的楼层跨度之和。由于假设尝试x次,所以这个多项式共有x项,右边是总的楼层数100。

由此题引申的M层楼,N个鸡蛋问题呢?(动态规划)

最优解的最坏情况下尝试次数是 X,鸡蛋首次扔出的楼层也是 X 这个规律不再成立。

可以把M层楼 / N个鸡蛋的问题转化成一个函数 F(M,N),其中楼层数M和鸡蛋数N是函数的两个参数,而函数的值则是最优解的最大尝试次数。

https://mp.weixin.qq.com/s/ncrvbpiZauXAGnUZTh5qtA

2、烧香
题目:有两根粗细均匀的香(烧香拜佛的香),每一根烧完都花一个小时,怎么样能够得到15min,45分钟呢?

答:把一根香在中间和两头都点燃,用15分钟,接着把另一根从中间点燃或者两头点燃用30分钟,加起来就是45分钟

3、撞球

题目:假定你有8个撞球,其中有1个球比其他的球稍重,如果只能利用天平来断定哪一个球重,要找到较重的球,要称几次?(2次);

答:两次,先3对3称一下,在重的里面1对1称一下即可,如果3对3一样重,在剩下的两个中

4、小白鼠试毒
题目:实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒。可以用实验室的小白鼠来测试哪一瓶是毒药。如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用。请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药;(答案是10只)

答:把瓶子从 0 到 999 依次编号,然后全部转换为 10 位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是 1 的瓶子,让第二只老鼠喝掉所有二进制数右起第二位是 1 的瓶子,等等。一星期后,如果第一只老鼠死了,就知道毒药瓶子的二进制编号中,右起第一位是 1 ;如果第二只老鼠没死,就知道毒药瓶子的二进制编号中,右起第二位是 0 ⋯⋯每只老鼠的死活都能确定出 10 位二进制数的其中一位,由此便可知道毒药瓶子的编号了。

5、水壶装水

问题:假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水;

答:6升的桶装满倒5升的桶,剩下1升,然后5升的倒掉,1升倒入5升,6升再装满倒入5升桶,剩下2升,5升桶倒掉再把2升装进5升桶,6升桶再装满倒入5升,最后6升桶剩下3升

6、12枚硬币(天平称重)
几道大厂面试经常问到的智力题