/**
1. 考虑怎么缩小结果集? 按题中例子, 15分钟死亡, 在60min内测出, 最多测4轮,
1.2 1头猪能将结果集划分为5份 ->
1.3 第二头猪 可将 a1,b1,c1,d1,e1 每个也也能划分成5份 a1 -> a11, a12, a13, a14, a15, ... e1 -> e11, e12, e13, e14, e15
也就是第二头猪的第一轮喝 a11, b11, c11, d11, e11
1.4 第三头 再将其划分成5 份.....
2. 按这个思路, 只有一轮时相当于二分, 2轮相当于3分, ...., x轮相当于 (x+1)分治
3. x = minutesToTest / minutesToDie, 结果为 log(x+1)(buckets)
*/
class Solution {
public int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
int base = minutesToTest / minutesToDie + 1;
int res = 0;
for (int k = 1 ; k < buckets ; k *= base) res++;
return res;
}
}