LintCode 1228. 可怜的猪 JavaScript算法

tech2023-08-17  101

描述

有1000个桶,有且仅有一个桶里面装了毒药,其他的都装了水。这些桶从外面看上去完全相同。如果一只猪喝了毒药,它将在15分钟内死去。在一个小时内,至少需要多少只猪才能判断出哪一个桶里装的是毒药呢?

思考回答这个问题,随后请设计实现一个算法去处理更一般的情况。

样例

- 样例1: 输入: buckets = 1000; minutesToDie = 15; minutesToTest = 60 输出: 5

挑战

假如一共有 n 个桶,只有一个桶装了毒药。一只猪将在喝完毒药 m 分钟后死去。你需要多少只猪才能在 p 分钟内找出那个装毒药的桶呢?

解析

这个好像是编程界的一个经典问题了

poorPigs = function (buckets, minutesToDie, minutesToTest) { num=minutesToTest/minutesToDie+1; if(buckets==1) return 0; pig=1; while(Math.pow(num,pig)<buckets)pig++; return pig; }

运行结果

最新回复(0)