LeetCode 458 可憐的小豬

2022-06-13 17:36:07 字數 831 閱讀 6552

問題描述:

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

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

回答這個問題,並為下列的高階問題編寫乙個通用演算法。

高階:

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

方法:假設5桶水,乙個小時內一頭豬檢測四個桶,如果沒死,肯定是最後一桶有毒。每增加一頭,能檢測的桶數乘5,pow(5,num) > buckets

1

class

solution(object):

2def

poorpigs(self, buckets, minutestodie, minutestotest):

3"""

4:type buckets: int

5:type minutestodie: int

6:type minutestotest: int

7:rtype: int

8"""

9 times = minutestotest / minutestodie + 1 #

每頭豬最多可測試的水桶數

10 num =0

11while pow(times,num) 12 num = num + 1

13return num

2018-10-03 21:47:29

LeetCode 458 可憐的小豬

有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外 起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?回答這個問題,並為下列的高階問題編寫乙個通用演算法。高階 假設有 n 只水桶,豬飲水中毒後會在 m...

Leetcode 458 可憐的小豬 C

有 1000 只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外 起來都一樣。如果小豬喝了毒藥,它會在 15 分鐘內死去。問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?回答這個問題,並為下列的高階問題編寫乙個通用演算法。高階 假設有 n 只水桶,豬飲水中毒後...

458 可憐的小豬

有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外 起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?回答這個問題,並為下列的高階問題編寫乙個通用演算法。高階 假設有 n 只水桶,豬飲水中毒後會在 m...