【从零单排之微软面试100题系列】06之根据上排数写出下排数

本题目选自July大神博客系列【微软面试100题】: july大神,该系列我主要用来记录我的学习笔记。

题目描述:根据给出的上排的十个数,在其下排填出对应的十个数,要求下排每个数都是先前上排那十个数在下排出现的次数。

例如给出上排【0,1,2,3,4,5,6,7,8,9】

那么对应下排【6,2,1,0,0,0,1,0,0,0】


分析思路:一道无聊的智力题,据说是TX的面试题。

(1)从9开始,如果9出现1次,即下排第10个位置为1,那么剩下9个数字里有1个数字在下排出现了9次,从0到8猜测某个数字出现了9次,均能发现矛盾的地方。

比如是0出现了9次,那么对应下排【9,0,0,0,0,0,0,0,0,1】,发现0其实只出现了8次,并且1在下排出现的次数不是0.

如果9出现了2次以上,同样的分析发现更加不可能,故9出现了0次。

(2)再看上排数字8,如果数字8出现了1次,那么有一个数字出现了8次,如果是0出现了8次,即对应的下排【8,0,0,0,0,0,0,0,1,0】,同样,1在下排出现的次数并不是0.

8只可能出现0次。

(3)同样分析上排数字7,也只会出现0次。因为如果7出现1次,可能出现7次的只会是0,而由于7出现了1次,所以1至少会出现1次。得到对应下排【7,1,0,0,0,0,0,1,0,0】.这时会有一个矛盾,就是1其实是出现了2次。所以7对应的下排数字也是0.

(4)再来看6,如果6出现1次,那么可能出现6次的就是数字0。数字1出现了至少1次,如果数字1出现了1次,会发生跟(3)中一样的矛盾,所以1至少出现了2次。如果1出现了2次,那么2就出现了1次。由于0出现6次,那么3,4,5,7,8,9出现的次数都是0次。对应的下排如下:【6,2,1,0,0,0,1,0,0,0】

(5)假设6出现了0次,再来看5,如果5出现1次,则只有可能是0出现了5次,除了6,7,8,9,出现了0次以外,而1也出现了至少1次,那么只有在数字2,3,4中才可能一个出现剩下的0次.但稍经分析发现都是矛盾的。一般分析到这里基本就不用往下分析了。


总之,这是一道极其无聊的智力题,我给的思路可能也比较混乱。在面试时候估计本题就靠直觉慢慢地试出答案来吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值