本文收录两道与算法关系不大、主要考察思维的面试题。

题目一:找出控制灯的开关

有两个相互隔开的房间,从其中一间无法看到另一间的情况。其中一个房间里装着三盏灯,另一个房间里则有三个开关,分别控制着这三盏灯。

现在要求受训者分别进入这两个房间各一次,然后判断出三盏灯究竟是由哪个开关控制的。

有什么办法呢?

参考解法

先把三个开关分别编号为 1、2、3。进入开关房间时,先打开 1 号开关保持一段时间,再关掉 1 号、打开 2 号,然后立即进入灯的房间。此时可以根据三盏灯的状态判断对应关系:

  • 正在亮的那盏灯由 2 号开关控制。
  • 已经熄灭但灯泡仍有余温的那盏灯由 1 号开关控制。
  • 既不亮也没有余温的那盏灯由 3 号开关控制。
/*by hk 15-7-1*/



把开关编号 1 2 3 先打开 1 2 号,然后到灯房间看 就明白了


.

题目二:金条切两刀支付七天工资

你雇了一些工人为你工作七天,报酬约定为一根金条。这根金条被等分成七段相连的小块,每完成一天的工作,就要付给工人一小块。

如果你只能将金条切割两次,怎样分配才能保证每天都能如数付给工人工资?

参考解法

把金条切两刀,得到 1 段、2 段、4 段三块。每天通过"找零"的方式支付:

  • 第 1 天:给工人 1 段。
  • 第 2 天:给工人 2 段,收回之前的 1 段。
  • 第 3 天:给工人 1 段(此时工人手上是 1 + 2 = 3 段)。
  • 第 4 天:给工人 4 段,收回之前的 1 段和 2 段。
  • 第 5 天:给工人 1 段。
  • 第 6 天:给工人 2 段,收回 1 段。
  • 第 7 天:给工人 1 段,此时工人手上正好集齐 1 + 2 + 4 = 7 段。
/*by hk 15-7-1*/

让工人找零钱回来 = =
.