leetcode之Poor Pigs(458)

題目:

有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外觀看起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。

問題來了,如果需要你在一小時內,弄清楚哪隻水桶含有毒藥,你最少需要多少隻豬?

回答這個問題,併爲下列的進階問題編寫一個通用算法。

進階:

假設有 n 只水桶,豬飲水中毒後會在 m 分鐘內死亡,你需要多少豬(x)就能在 p 分鐘內找出“有毒”水桶?n只水桶裏有且僅有一隻有毒的桶。

python代碼:

class Solution(object):
    def poorPigs(self, buckets, minutesToDie, minutesToTest):

        pigs = 0
        while (minutesToTest / minutesToDie + 1) ** pigs < buckets:
            pigs += 1
        return pigs

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章