美文网首页Java 杂谈面试题库算法
腾讯的面试题(很有科技含量)

腾讯的面试题(很有科技含量)

作者: 代码墨白 | 来源:发表于2018-07-10 12:58 被阅读116次

 1、1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒(小狗服完药20小时后才能判断是否中毒)。

解题思路:

首先,不能考虑(24-20=4小时),在4小时内,将1000瓶药水依次喂给10只狗,将喂药的时间点与药水记录下来。不考察这种查找方式。

标准的解题方法: 把狗从0-9编号; 把药水按1-1000编号; 把药水编号按二进制,如果第i位(因为最大1000,所以bit位为0-9)bit位为1,则分给编号为i的狗狗喝; 最后得一二进制数,如果编号为i的狗狗死了,该数的第i bit位为1,该数就是有毒的药水编号。 他说的比较专业

下面我用实例给解析一下: 用 0、1、2、3、4、5、6、7、8、9 给小狗编号; 而药水按1-1000编号; 我们把每瓶药水的编号转换为二进制数,由于2的10次方=1024,所以我们将二进制数定为有10个数位,如: 1=0000000001 13=0000001101 214=0011010110 对二进制转换不熟悉的朋友可以用“开始-程序-附件-计算器-查看-科学型”来轻松转换。 这样转换以后,每个药水编号的二进制数的每一位都分别对应一只小狗; 我们定义每瓶药水要喂给其二进制编号位数为“1”的那位对应的小狗喝; 由于2的10次方=1024>1000,所以这些二进制编号组合都是唯一的; Java初高级一起学习分享,共同学习才是最明智的选择,喜欢的话可以我的学习群64弍46衣3凌9,或加资料群69似64陆0吧3(进群备注平台名)

当我们用不到4小时的时间将1000瓶药水分别喂给相应的小狗喝后,就可以去看看书,上上网,听听歌来打发剩下的20小时; 20小时候,在一个合理的药效发作时间后,我们统计有中毒症状小狗的编号,中毒的定为“1”,正常的定为“0”; 然后依照编号顺序排列,我们就可以得到一个10位的二进制数,而将这个二进制数再转换为十进制数后,这个数值就是有毒的药水的编号了; 例如,最终结果是编号为 2、4、6、7、9 的小狗有中毒症状,我们就将一个十位二进制数的2、4、6、7、9位设为“1”,其余各位设为“0”,即:0010101101; 而0010101101对应的十进制数=173,所以第173瓶药水就是有毒药水!

看到这个答案,我彻底被吓到了。。高手太多了。没法活了

相关文章

  • 腾讯的面试题(很有科技含量)

    1、1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒...

  • iOS面试题:腾讯一、二、三面以及参考思路

    转载自:CocoaChina 不懂技术的爱迪生--iOS面试题:腾讯一、二、三面以及参考思路 iOS面试题:腾讯一...

  • iOS面试题:腾讯三面

    iOS面试题:腾讯三面

  • 工作面试

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总杭州...

  • Android-Java面试

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总各大...

  • 优秀开源

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总自定...

  • 程序语言

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总【码...

  • 面试经验

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总写给...

  • iOS面试题:腾讯一、二面以及参考思路

    iOS面试题:腾讯一、二面以及参考思路

  • 面试题系列

    jsonChao大佬系列面试题公众号面试题jsonChao腾讯面试题一天一道Android面试题「码个蛋」每日一题...

网友评论

  • d0b346ae5c1a:0号小狗要喝500种药水,好可怜,配多了喝不下,配少了怕没效果,而且死的几率最大,9号小狗就幸福多了
  • Cloudsir:刚开始看就不太明白,至多是什么意思?
  • 狗仔很忙:最低位的狗起码要喝500瓶,最高位的狗只喝一瓶,真虐狗!
  • 2c8a8c507c10:看两遍才明白
  • 傅强_6aa2:我搞不懂只有一瓶有毒,最终结果是编号为 2、4、6、7、9 的小狗有中毒症状,五只狗中毒?
    ad75e9946488:@傅强_6aa2 不是一次给喝一瓶,给一点试药就好了,或者题目改为1000种药水
  • 5257afb9e6e3:这个问题本身就是瞎扯淡
  • i果冻:看了一遍啥都没看懂的人…表示很难过
  • 小飞牛牛:实际上这是不可能的,你想想,凡是单数,放在第一位的小狗都要喝一次,也就是说,第一只小狗要喝500次,小狗能让你喂500次?😜
    a706aa61f4d8:@林子太小包不住乌鸦 混合起来,第一只小狗不被毒死,也要被撑死了,😁
    林子太小包不住乌鸦:@小飞牛牛 可以混合药水呀
  • 73cdd684f50c:之前腾讯面试也问这个问题,之前看过这个问题,所以直接给面试官说:我看过这个问题😂
  • c5f219ccf0ec:这其实数学里那个经典的“老鼠和毒药”的问题改版成狗狗版了吧,学数学专业的应该比较了解,李永乐老师之前也讲解过。腾讯不可能拿这类经典数学问题当面试题吧。不过没接触过这个问题的童鞋,这的确是个有意思的话题。
  • 爱颠勺的王木木:我觉得这道题是考人性,不应该拿可爱的狗狗做实验
  • 十柒年:天哪,看三遍才算看明白。我可能是个假程序员。
    kaiv2:@仙剑奇灵 写复杂了,简单说就是狗狗代表二进制位,毒1-1000按二进制喂给狗狗
  • RP:很妙啊,甚至可以推演出各种不同的题,比如1000瓶药里有1瓶毒药,1瓶泻药和1瓶催眠药之类的,然后用4进制做
    RP:@五毛钱辣条 :cry: 想错了,还是2进制
    b0e37d6453a3:@RP 啥?
  • 戈壁老曹::joy: 真的是,奇技淫巧。
    代码墨白:@戈壁老曹 哈哈O(∩_∩)O哈哈~还是你意想不到的那种
    戈壁老曹:@犬良心 做那些编程笔试题,总是有大佬能碾压你的思路。:joy:
    代码墨白:@戈壁老曹 一般一般:joy:

本文标题:腾讯的面试题(很有科技含量)

本文链接:https://www.haomeiwen.com/subject/uaeouftx.html