找坏球——面试智力题
問題詳情?
有12個球,1個沒有砝碼的天秤。其中有11個球的重量是一樣的,另外1個是壞球,和其他球的重量不一樣,但無法確定是輕了還是重了。請問如何用天秤稱3次,就找到壞球并確定是輕了還是重了。(沒有砝碼的天秤只能比較出兩邊誰重誰輕或是重量相等,無法求得具體的重量差.
解題思路
一看到這種要從多少個里面找一個的題目,首先想到的就是分治法,分而治之。
首先,考慮二分法,分成兩堆各自6個,但是發現沒法確定哪邊是壞球哪邊是好球,因為沒法確定壞球是輕了還是重了,因此二分法可以pass掉.
接下來,考慮三分法,將原來的12個球分為三份,假定A(1,2,3,4), B(5,6,7,8),C(9,10,11,12)
第一次,A 和 B 稱,
若相等,則A 和B都是好球,壞球在C中。
第二次,任取A或B中三個球,比如A中 1,2,3 與 C中 9,10,11 稱,若相等,則壞球就是12;若不相等,則壞球在9,10,11中,而此時,我們已經知道壞球到底是輕還是重, 因此,稱第三次就可以判斷出9,10,11中哪個是壞球.
若不相等,則C中都是好球,壞球在A和B中,假設(1,2,3,4) < (5,6,7,8) (反過來的情況同理)
? ? ? ? ? ? ? ?第二次:稱(1,2,5)和(3,4,6)。
? ? ? ? ? ? ? 相等:7和8有一個重,稱第三次即可。
? ? ? ? ? ? ? 不等:假設(1,2,5)<(3,4,6)(反過來類似)。說明1,2輕了,或者6重了,第三次稱1,2即可。
面試官角度:
一般問這個問題的公司就是想找平時喜歡研究智力題的人,或者他們公司的招聘名額很少。這是一個十分經典的智力問題。一般來說很難要求面試者在幾分鐘之內考慮周全。所以碰到這樣的問題,知道就是知道,不知道就是不知道。不過即便不知道,比較聰明的面試者還是能夠大致說出一些思路。比如一開始分成3堆,這個思路答上就會加分。如果分成2堆6個和6個,你會發現基本是解不出來的。所以這個題目純粹是考驗你是否是一個聰明的面試者或者你是不是準備面試題的時候做過了(那也說明你態度很端正)。
參考資料:http://www.jiuzhang.com/problem/3/
總結
以上是生活随笔為你收集整理的找坏球——面试智力题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《iOS移动开发从入门到精通》图书连载2
- 下一篇: dBm、mw、dB三者之间的关系