問題一:有12個外形一致的金屬球,其中11個重量相同,另外有1個較輕。現在有一架天平,請用天平在3次以內找出那顆較輕的金屬球。
問題二:有12個外形一致的金屬球,其中11個重量相同,另外有1個重量與其他的球不同,也許是輕,也許是重。現在有一架天平,請用天平在3次以內找出那顆重量與眾不同的金屬球。
問題一比較簡單。說一下解法:
首先,將12個球分成5個、5個、2個。
我們拿天平稱5個、5個的(一次)。
如果平衡,則稱剩下的2個,較輕的就出來了(兩次)。
如果不平衡,則天平上有5個球是較輕的,我們把它們分成2個、2個、1個。
我們拿天平稱2個、2個(兩次)。
如果平衡,則剩下的1個有問題。
如果不平衡,則較輕的2個有問題。
我們拿天平稱較輕的這2個(三次),有問題的就出來了。
問題二複雜一些。問題一簡單想了幾秒就出來了,而問題二我們宿舍討論了一晚上。說一下解法。
首先,將12個編號,從1號、2號一直到12號。
我們將1、2、3、4放天平左邊,5、6、7、8放天平右邊(一次)。
如果平衡,則9、10、11、12有問題。我們把1、2換成9、10。此時天平左邊3、4、9、10,右邊5、6、7、8(兩次)。
如果平衡,則11、12有問題。我們把3換成11,則左邊4、9、10、11,右邊5、6、7、8(三次)。
如果平衡,則12有問題。
如果不平衡,則11有問題。
如果不平衡,則9、10有問題。而且此時我們能夠根據天平看出9、10中有問題的那個是輕還是重,假設是輕。則再稱9、10,就出來了(三次)。
如果不平衡,則9、10、11、12正常。假設左輕右重。我們把4號放到右邊,5號放到左邊,拿9、10、11替代6、7、8。此時天平左邊1、2、3、5,右邊4、9、10、11(兩次)。
如果平衡,則有問題的球在6、7、8中,而且6、7、8中有問題的球肯定重的。那麼我們用天平稱6、7就能辨別出有問題的球(三次)。
如果不平衡,我們看天平,如果左輕右重,那肯定是1、2、3有問題,因為右邊的球中,4號是可能輕的,9、10、11是正常的。我們如同處理6、7、8一樣處理1、2、3,就能辨別(三次)。如果左重右輕,則4號或者5號有問題。我們取4號或者5號與正常的球一比較,就知道哪個有問題了(三次)。
草草寫完。感覺這種問題要講清楚,最好的辦法是畫圖。我寫在這裡,是記錄一下自己思考的過程。如果您看得雲裡霧裡,那很抱歉,建議拿出筆和紙畫畫,思路應該會穩定一些。
討論兩個演算法題
以下兩個問題假設自ram模型。在該模型下,我們可以在常量時間內執行兩個o log n 位整數的邏輯和算術運算,並且還可以在常量時間內讀取 寫入任何記憶體位址的連續o logn 位。問題一 給定隨機0 1序列b 0,n 1 即對於0 i n 1,b i 0或1。求解以下問題 1.設計資料結構和演算法,...
百度面試題 天平稱重問題
問題描述 用天平 只能比較,不能稱重 從一堆小球中找出其中唯一乙個較輕的,使用x 次天平,最多可以從y 個小球中找出較輕的那個,求y 與x 的關係式。解題思想 該題主要考查邏輯思維能力,我在首次遇見該題時,首先想到的對半拆分,找出其中較輕的一半,然後在進行對半拆分,如此迴圈直到找出較輕的小球。這樣得...
兩個小問題
最近實驗室的工作上碰到的兩個小問題,記錄一下。1.yuv顏色空間的gmm 之前用過很多次的在rgb上的混合高斯模型,最近需要對乙個yuv序列使用gmm方法建背景。因為有現成的 所以第乙個出現在腦海中的想法就是用公式把yuv轉成rgb之後,完了再轉回yuv。後來再回頭一想,完全不必要如此,因為gmm完...