全球顶尖公司的烧脑面试题

转载自微信公众号:算法与数据结构-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. 所以枪声在第几天响起,就代表死了几只狗,也就是病狗数。
原文地址:https://www.cnblogs.com/yaoz/p/7436432.html