726-有100瓶水,其中一瓶有毒,有一种试纸...

问题如下

100瓶水,一瓶有毒,有一种试纸,不过需要一个小时才能出结果,问最少需要几片试纸才能在一小时内找到有毒的那一瓶。

答案是:7

算法思路

本地解题方案类似于布隆过滤器的算法思路。
参考我的博客:大数据查重-布隆过滤器
本题的思想就是:算法的思想就是把数字用二进制表示。

解题过程

首先我们需要准备七张试纸如下:
在这里插入图片描述

然后对瓶子的编号进行二进制排序
比如
一号瓶子是000 0001;七号瓶子是000 0111;100号瓶子则是110 0100。
然后按编号把瓶子的液体滴到试纸上
比如:
一号瓶是000 0001,就把一号液体滴到1号试纸;
7好瓶是000 0111,把七号液体滴到1、2、3号试纸上。
然后静等试纸变色
如果是1、3、5、7号试纸均变色,那么对应的101 0101 = 75号瓶就是有毒的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林林林ZEYU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值