zoukankan      html  css  js  c++  java
  • 全球顶尖公司的烧脑面试题

    转载自微信公众号:算法与数据结构-300

    谷歌篇

    球的重量

    有8个球,其中1个比另外的要略重。在不用砝码的前提下,你最少要称几次,才能找出这个球?

    称两次,分为3 3 2,共三组,先称前两组,若不平衡则从较重的一组里面任选两个称重即可得到略重的那个;若平衡,称一次最后一组可以得到结果

    沙漠尸体

    一个人被发现死在沙漠里,手中捏着一根火柴,周围没有任何足迹,也没有其他线索。他是怎么死的呢?

    飞机事故,有人不幸被抽中需要跳机

    罐子和水

    你有不限量的水,还有两个罐子,容量分别是5升和3升。请精确的称量出4升水

    5L:装满 3L:从5L容器中倒满后倒掉 3L:剩余2L倒入 5L:倒满 3L:把5L中倒出1L装满3L容器 剩余的5L容器中的即为4L

    熊的颜色

    你建造了一座房子,每面都朝南。突然,你发现一只熊。它是什么颜色?

    白色,因为只有在北极点上所有方向都朝向南

    药丸难题

    医生给了病人两种药丸,每种两颗,两种药丸的成分不同,但外观一样,医生要求早上和晚上,每种药各吃一颗。现在药丸被混在了一起,难以分辨。如果病人没按照规定吃药或者不吃药,就会死亡。请问他要怎么做才能活下来?

    将所有药的包装去掉,混合在一起,平分成两份,早晨和晚上各吃一份

    微软篇

    假设有一个直角三角形,斜边长10cm,从顶点到斜边作垂线,垂线长6cm(如下图所示),求直角三角形的面积。

    这样的直角三角形不存在,垂线最长为斜边的一半

    你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你怎样给你的工人付费?

    分为1 2 4,共三部分,因为这个组合可以组成从一到七之间的所有数

    IBM篇

    假设村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死别人的狗,每天都有且仅有一次杀狗的机会。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?

    1. 假设有n条狗患病,则这50人中就有n个人(分别是对应患病的n条狗的主人)看到了n-1条狗患病,剩余的50-n个人看到了n条狗患病;这时就有n个人(患病狗的主人)认为可能有n-1或n只病狗,有50-n个人认为有n或n+1只病狗;
    2. 在第n天到来之前,没有人知道自己的狗是否患病,因为没有人知道自己认为的比较小的病狗数是不是全部的病狗数;所以大家都不会杀狗;
    3. 直到第n天的时候,患病狗的主人才知道原来不止n-1条狗,这样就能知道自己的狗已经患病;此时未患病狗的主人依然在等待,因为未患病狗的主人看到了n条病狗,他们在等待第n+1天才能知道自己认为的比较小的病狗数是不是全部的病狗数;
    4. 所以枪声在第几天响起,就代表死了几只狗,也就是病狗数。
  • 相关阅读:
    数据安全:1.98亿购车者的购车记录公之于众
    【作者面对面问答】包邮送《Redis 5设计与源码分析》5本
    关于区块链学习资料
    《机器学习》周志华西瓜书学习笔记(九):聚类
    Bulletproof零知识证明
    数据接收合并
    数据接收合并
    数据接收合并
    数据接收合并
    Tomcat 8 Host-Manager配置访问的方法,全网唯一正确配置
  • 原文地址:https://www.cnblogs.com/yaoz/p/7436432.html
Copyright © 2011-2022 走看看