可怜的小猪

题解方法

  • 数学:信息论

数学:信息论

  • 表达 n 桶水状态所需的位数:$\log_2 n$

  • 一个猪实验 k 次的状态所实现的位数:$\log_2 (k+1)$

  • 所需猪的最小数量 m:

    $$
    m \geq \frac{\log_2 n}{\log_2 (k+1)}
    $$

核心代码

1
2
3
4
public int poorPigs(int n, int d, int t) {
int k = t / d;
return (int) Math.ceil(Math.log(n) / Math.log(k + 1));
}

题目来源

458. 可怜的小猪 - 力扣(LeetCode) (leetcode-cn.com)