1.这是来自Adobe公司一道题目:一辆加满油的摩托车可以骑50千米,如果你有50辆这样的摩托车,你能骑多远?
答案:这取决于你如何使用油箱里的油。
最简单的回答是让这些摩托车同时发动,所有的摩托就能同时走完这100千米。然而,还有另外一种答案:将这50辆车全部发动,在骑到50千米的时候将25辆摩托车的汽油加到剩余的摩托车里,这样你就会有25辆加满油的摩托车,然后骑了50千米之后再重复刚才的作法。通过这种方法,你最终能骑350千米远。
其实,第二种方法在遇到25求一半时直接就取12了,加入你能就这些也全部考虑进去的话,实际上你能到达比350千米更远的地方。
2.微软的问题是这样的:假如你在一艘船上,请问将公文包扔出去之后水面会上涨吗?
答案:不会。
原因是公文包在船上的重量和在水里的重量是一样的,所以无论在任何情况下,水面都不会上涨。
3.来自微软的另外一道题目:假定你有无限多的水,和一个5升的容器,一个3升的容器,请准确地倒出4升水。
答案:首先将5升的容器装满水,然后倒满那个3升容器,这样5升的容器里面就剩下了2升水;然后将3升的容器里的水倒掉,将5升容器里面剩余的2升水倒进去;最后再将这个5升的容器打满水,然后再用这个5升的容器将3升容器倒满。因为这个3升容器里面已经有2升水了,所以倒进去的这些肯定是1升水,那么最后5升容器里面剩下的就是题目所要求的4水了!
4.来日亚马逊的一道面试题:抛掷硬币,如果正面朝上就不再抛掷这一枚了,而是去抛掷第二枚硬币。如果反面朝上就将这一枚再抛掷一次。抛掷第二枚硬币的时候没有任何要求。问,正反面的几率各是多少?
答案:依然是1比1。
因为在抛掷第一枚硬币的时候需要假设两种情况,所以正反面概率为1比1。而第二枚硬币的概率继续是1比1,所以总的概率还是1比1。
5.谷歌的面试题是这样的:有两个骰子,一个是正常的,另外一个只是一个正方体,每一面都没有任何的标记。问,如何标记第二个骰子才能使确保两个骰子点数之和为各个数的概率相同。
答案:只用6和0就足矣。
如果两个骰子各个面上都是从1到6的话,那么两个骰子点数之和的范围是2到12,这其中某些数出现的概率要明显比其他数要高。
如果将第二个骰子涂上3个0和3个6的话,那么第二个骰子得到0或者6的概率就会分别是1/2。而两个骰子点数之和范围从1到6的概率就等于第二个骰子点数为0的概率,也就是1/2;而第一个骰子每个点数出现的概率都是1/6,所以两个骰子点数之和的范围从1到6的概率是1/12,同理,两个骰子点数之和的范围从7到12的概率也是1/12。这样就能保证骰子点数之和在1到12之间都是1/12.
6.微软的另外一个问题就是:有1000瓶果汁,其中有一瓶有毒,并且比没毒的好喝,问,最少喝几次才能找出这瓶毒果汁?
答案:10次。
首先从500瓶中各取一滴,一口喝了,如果口感比普通果汁好喝的话,那瓶毒果汁就在这500瓶里面,反之就在另外的500瓶里面;然后从这500瓶里面选取250瓶,各取一滴,一口喝了,推理同上,如此反复,直到准确的找出那瓶毒果汁。而依据这种方法得出最少次数就是10次了。
JerryJava 发表于 2014-9-28 06:18
喝果汁的那个需要灵敏的味觉... 而且连续的这样喝,舌头会麻的~~
海燕 发表于 2014-9-28 08:01
考的全是思维算法啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |