有趣的面试题

  0.A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

答案:A把药放进箱子,用自己的锁把箱子锁上。B拿到箱子后,再在箱子上加一把自己的锁。箱子运回A后,A取下自己的锁。箱子再运到B手中时,B取下自己的锁,获得药物。

  1. 有一个软件公司,1/2 的人是系统分析员,2/5 的人是软件工程师,有1/4 的人两者都是,问有多少人两者都不是?

1 – 1/2 – 2/5 + 1/4= 0.35

  2. 有 25 匹马,速度都不同,但每匹马的速度都是定值。现在只有 5 条赛道,无法计时,即每赛一场最多只能知道 5 匹马的相对快慢。问最少赛几场可以找出 25 匹马中速度最快的前 3 名?(百度 2008 年面试题)

每匹马都至少要有一次参赛的机会,所以 25 匹马分成 5 组,一开始的这 5 场比赛是免不了的。接下来要找冠军也很容易,每一组的冠军在一起赛一场就行了(第 6 场)。最后就是要找第 2 和第 3 名。我们按照第 6 场比赛中得到的名次依次把它们在前 5 场比赛中所在的组命名为A、B、C、D、E。即:A组的冠军是第 6 场的第 1 名,B组的冠军是第 6 场的第 2 名……每一组的 5 匹马按照他们已经赛出的成绩从快到慢编号:

A 组:1,2,3,4,5

B 组:1,2,3,4,5

C 组:1,2,3,4,5

D 组:1,2,3,4,5

E 组:1,2,3,4,5

从现在所得到的信息,我们可以知道哪些马已经被排除在 3 名以外。只要已经能确定有 3 匹或 3 匹以上的马比这匹马快,那么它就已经被淘汰了。可以看到,只有上表中粗体蓝色的那 5 匹马才有可能为2、3 名的。即:A组的2、3 名;B组的1、2 名,C组的第 1 名。取这 5 匹马进行第 7 场比赛,第 7 场比赛的前两名就是 25 匹马中的2、3 名。故一共最少要赛 7 场。

  3. 考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么?

答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者刚才放的地方相对称的位置。这样,只要后行者能放,先行者一定也有地方放。先行者必胜。

  4. 一个矩形蛋糕,蛋糕内部有一块矩形的空洞。只用一刀,如何将蛋糕切成大小相等的两块?

答案:注意到平分矩形面积的线都经过矩形的中心。过大矩形和空心矩形各自的中心画一条线,这条线显然把两个矩形都分成了一半,它们的差当然也是相等的。

本文文字及图片出自 www.javaranger.com

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注