一千桶水中找出一桶有毒的水
起因
最近离职了,可以一整天的在技术群里吹水了。
然后在群里看到有人拿题出来,就试着做了一下。
经过
我看到题的第一个想法是每个老鼠喝两桶找到重叠被毒死的老鼠例如第一只老鼠喝1,2第二只喝2,3。如果2有毒那么就是第二只被毒死。
然后我洗澡的时候突然想起之前看李永乐老师的一个视屏。多个集合中不同的数字。让学生随意想一个数。然后是否包含在集合中快速的得出结果。用了二进制来做。我思考了一下这个解决方案完美适用。
大致思路
被毒死的填1存活的为0。这样就可以得到被存在毒药序号的二进制数。然后转成10进制就可以
原创
2021-08-08 20:37:47 ·
1531 阅读 ·
0 评论