Google研发面试题
今天很开心找到了一个很不错的研发面试题,很考验临时反应能力,特地拿出来和大家分享一下此题以及自己做该题的心得体会!!! 题目: 总共有12个外表都一样的金属球,其中有11个球的重量是相同的,1个球的重量可能比其他11个球要重,也可能比较其他11个球轻,这个球称之为异常球,问:如何利用一个天平来称重三次找出这个异常球? 下面来讲解我的思路,希望大家拿出笔和纸。 首先我们将12个球分为三份,将球依次排好序号为1-12,如下: A组选手:1,2,3,4 B组选手:5,6,7,8 C组选手:9,10,11,12 任意拿出两组放在天平两边,下面我们就以拿出 A , B 比较。 【1】如果 A == B ,因为只有1个异常球,而 A == B ,则说明 C组(9,10,11,12) 异常球: 紧接着从 C组 (异常组中)取出3个球,从正常组 A 或者 B 组中也取出3个球来进行比较,例如我们取出 B组6,7,8 【左边】 vs C组9,10,11 【右边】 如果天平平衡 ,则C组剩下的球就为异常球, 这样就比较2次; 如果天平不平衡, 那就知道了异常球是重还是轻, 那就从右边的三个球中再任取两个,放入天平中: 如果天平平衡 ,剩下的球即为异常球; 这样就比较2次 如果不平衡 ,则可根据上面已经得出的结论