文章图片
【微软|微软面试题:1000个瓶子,999瓶是水,1瓶是毒药,怎么找出那瓶毒药?】微软面试题 , 有1000个瓶子 , 其中999瓶是水 , 1瓶是毒药 , 外观无法区别 。 现有10只小白鼠和无限多干净试管 , 怎么找出那瓶毒药?
用混检的方法即可实现:
1、1000个分两组(500/组):会死一只老鼠
2、剩余分两组(250/组):会死一只老鼠
3、125/组:死一只
4、62.5/组:死一只
5、31.25/组 死一只
6、15.6/组 死一只
7、7.8/组 死一只
8、3.9/组 死一只
9、1.9/组 死一只
10、第十次刚好验证出有毒的瓶子
但我觉得这种类似穷举的算法不够优雅 , 各位大神还有何高见?
网友:为何要十次 , 三到四次即可 。 把1000只分十份 , 每份100只取样混合给十只老鼠吃 , 死一只老鼠确定100瓶 , 再分十份给九只老鼠吃 , 再死一只确定十瓶 , 再分十组给八只老鼠吃 , 确定一瓶或二瓶 。 死到四只老鼠就行了 。
网友:这题考一个 , 算法 , 逻辑!可以有很多种解法 , 要问清楚 , 1000瓶子是多大容量 , 一只小白鼠有多大 , 能喝多少水 , 有没有时间要求 , 小白鼠死几只?等等?!这样才是一个合格的程序员 。
网友:分成11份 , 10份90瓶 , 1份100瓶 , 前10份给10只老鼠喝 , 死了就在90瓶里 , 没死就在100瓶里 , 然后继续按这个方法 , 最多3次 , 优点在于运气好时一只老鼠都不用死 。
- 狗狗币|轻薄本新品纷纷上市!当a豆遇上小新,前者为什么能多方面吊打?
- 高通骁龙|腾讯和微软同样是科技公司,为什么净利润一个跌一个涨?
- Java|Mate50Pro不香了?小米12Ultra全面曝光,徕卡+两大自研芯片加持
- AMD|微软首家采购AMD MI200系列显卡:比N卡性能快5倍
- 算法|市面上降噪最好的蓝牙耳机,618必备降噪蓝牙耳机推荐
- 微信|微信封号“新规定”:只要有这6种行为,或将面临“封号”
- OLED|OLED阵营开始内卷?三星还是要面子的:今年不会采用LG面板
- 电子商务|做电商,要学会抄作业。研究透下面3点,迟早起量
- 科技大世界|电器服务向全产业链路渗透 呈现精细化、全面化发展新趋势
- 华为|华为正式官宣,全面打响 “翻身仗”,外媒:确实留了后手!