来自:快课网
作者:Jay13
链接:http://www.cricode.com/3558.html
现在很多大型IT企业在面试时都喜欢问一些智力相关的题目,虽然智力面试题在面试笔试中占的比例不大,但很多时候,面试环节中智力题往往会成为我们拿offer的最大拦路虎。因为有些面试官认为通过智力题可以考查你的思维能力、抽象问题的能力。
下面是一道很经典的智力型面试题,也是我一朋友在BAT面试中亲身见识过的一道题。各位来体验一下,看看自己的大脑是不是好使。
题目:
有一栋楼共100层,一个鸡蛋从第N层及以上的楼层落下来会摔破, 在第N层以下的楼层落下不会摔破。给你2个鸡蛋,设计方案找出N,并且保证在最坏情况下, 最小化鸡蛋下落的次数。(假设每次摔落时,如果没有摔碎,则不会给鸡蛋带来损耗)
形形色色的解答:
在参考下面的解答之前,请你先仔细思考10分钟。看你给出的方案最小下落次数是多少。如果题目总分10分,看看自己能得几分。
=========答案分割线=========
解答1:得0分的答案
用二分法。
这基本可以说就是没有通过大脑得出来的答案,而且还貌似很牛掰的样子,并常常带着一个lgn的复杂度。如果你接着问怎么个二分法,他就答不上来了。
这个答案不是我杜撰出来的,而是我拿这个题目问过身边的一些人,其中有几个人真的随口就把二分法给说出来了。每当我听到二分法时,当我没问。
解答2:得5分的答案
如果我们动一下脑子仔细思考这个问题,我们会得到一个相对不错的答案。参加BAT面试那位朋友就给出了下面的这种方案,并自认为是一种很完美的答案。但面试官给出的回答是:我还是不满意。
据说,他这种思路的灵感来自于数学中的求极值问题。
已知两个自然数的和为25,求这两个数的平方和的最大、最小值。
解:设一个自然数为x 另一个自然数为25-x
x²+(25-x)²
=2x²-50x+625
=2(x²-25x+312.5)
=2[(x-12.5)²-156.25+312.5]
=2[(x-12.5)²+156.25]
所以可得:
当x取12.5时 有最小值2×156.25=312.5 (当x==y==12.5时取得极小值)
当x取25时 有最大值2×(12.5²+156.5)=625
因此,很容易得到启发(当然,这只是一种直觉,并没有什么理论依据。)。100层楼,平均分成10分,每份刚好10层。