今天我停止了高阶的训练,从最基础的部分学起。
以前我总注重于编码,但是我感觉逻辑也很重要。今天先记录三道逻辑题。
1、一共有10个小球,形状大小和颜色完全相同,其中有一个小球的重量大于其他小球的。怎么用天平三次验证出不同的那个小球?
本人思路:第一次一边放五个小球,下沉的那一边就是有不同小球的那一边
第二次选出四个小球,一边放两个如果有一边下沉了,则将这两个球筛选出来第三次再上天平就可以选出那个不同的了。如果第二次的时候两边持平则最后剩下的那个球就是不同的那个了。
下面将这道题变式一下:一共有十二个球呢?
本人思路:一边放六个。下沉的那一边就是有不同球的那一边。然后选出6个,一边三个下沉的一边则是有不同小球的那个,再将这三个球挑选出来。从这三个球中挑选出两个一边放一个,如果有一边下沉了则下沉的那边就是不同的小球。如果持平则没有上天平的那一个就是。
2、有两个人一个只说假话,一个只说真话。他们背后有两条路一个人背后是生路,一个人背后是死路。但是并不知道谁的背后是生是死。现在你只能问其中一个人一个问题。那么如何辨认出生死呢?
本人思路:其实只需要随便找一个人,问他:“对面那个人会说你背后这条路是生是死呢?”问题就解决了。具体的逻辑是这样的:假如你问的是说真话的人,如果他背后是生路。他就会回答你对面的人会说我这条路是死路,因为说谎话的人只会说谎话,所以他肯定会说这条路是死路。假如他背后是死路,那么说真话的人就会告诉你对面的人会说这条路是生路。反过来,假如你问的是说假话的那个人同样的问题,如果他背后这条路是死路,他肯定会说自己对面的那个人会说这条路是生路,如果他背后是生路,他会说对面那个人说这条路是死路。所以只需要将你问的那个人的答案取反就可以了。
3、一间密室里面有三盏灯,在密室的外面有三个开关。你只可以进去一次,怎么判断哪个开关控制那一盏灯。
这个本人没有死路了,我只能说一下别人的思路。而且我感觉这个思路好。。。具体是这样的先开一盏灯开几个小时。而后将这个灯关了。然后再开一盏灯再进去发光的就是你刚才开的。再用手感觉一下发热的就是开了几个小时的那个。。。
可能有些比较大的公司会问你这些问题,因为这是与逻辑有关的。对于处于求职阶段的我来说。可能还是比较有用的。