腾讯面试题
现在有1000瓶药,只有1瓶是有毒的,老鼠试完药后,需要24小时内才能才能知道药是否有毒,而现在需要24小时知道1000瓶中哪1瓶有毒,请问最少需要多少只老鼠。
思路:当然你可以用1000只老鼠直接试1000瓶药水,但是我们要最少的老鼠。|| 下面是正解->程序员直觉:看到1000就想2^10=1024。因此可以利用10个二进制位来表示这1000瓶药水。
现在来到算法经验的时候,通常问题规模太大,先尝试一个小的例子,譬如现在只有8瓶药水。
现在有1000瓶药,只有1瓶是有毒的,老鼠试完药后,需要24小时内才能才能知道药是否有毒,而现在需要24小时知道1000瓶中哪1瓶有毒,请问最少需要多少只老鼠。
思路:当然你可以用1000只老鼠直接试1000瓶药水,但是我们要最少的老鼠。|| 下面是正解->程序员直觉:看到1000就想2^10=1024。因此可以利用10个二进制位来表示这1000瓶药水。
现在来到算法经验的时候,通常问题规模太大,先尝试一个小的例子,譬如现在只有8瓶药水。