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

原创 2015年07月06日 21:42:52
本题目选自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次.但稍经分析发现都是矛盾的。一般分析到这里基本就不用往下分析了。


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

相关文章推荐

微软100题(6) 根据上排给出十个数,在其下排填出对应的十个数

题目: 根据上排给出十个数,在其下排填出对应的十个数   要求下排每个数都是先前上排那十个数在下排出现的次数。   上排的十个数如下:   【0,1,2,3,4,5,6,7,8,9...

【从零单排之微软面试100题系列】03之求子数组的最大和

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:输入一个整形数组,数组里有正也有负。数组中连续的一个或多个整数组成一个子数组,每个子数...

【从零单排之微软面试100题系列】01之二叉查找树与双向链表

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:把二元查找数转变成排序的双向链表 要求:输入一棵二元查找树,不能创建任何新的节点,只...

【从零单排之微软面试100题系列】04之二叉树中和为某一值的路径

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:输入一课二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 路径定...

【从零单排之微软面试100题系列】02之包含 min 函数的栈

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:设计包含 min 函数的栈 要求:定义栈的数据结构,添加一个min函数,能够得到栈的...

【从零单排之微软面试100题系列】05之查找最小的k个元素

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:输入n个整数,输出其中最小的k个(k   分析思路:(本题亦见于《剑指offe...

根据上排十个数,算出下排十个数

==========以下为一网友给出的数学解法,还没细看正确与否,先记下,留待后用=========== 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数    要求下排每个数都...

【从零单排之微软面试100题系列】07之判断两个链表是否相交

本题目选自July大神博客系列【微软面试100题】:july大神,该系列我主要用来记录我的学习笔记。 题目描述:给出两个单向链表的头指针,判断两个链表是否相交。   分析思路: 如果只要判...

每天学习一算法系列(7) (根据上排给出十个数,在其下排填出对应的十个数)

题目: 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下:【0,1,2,3,4,5,6,7,8,9】 举个...
  • yuucyf
  • yuucyf
  • 2011年04月28日 17:38
  • 2243

算法题24 根据上排给出十个数,在其下排填出对应的十个数

给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数    要求下排每个数都是先前上排那十个数在下排出现的次数。    上排的十个数如下:    【0,1,2,3,4,5,6,7,8,...
  • wcyoot
  • wcyoot
  • 2011年05月18日 00:13
  • 9100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【从零单排之微软面试100题系列】06之根据上排数写出下排数
举报原因:
原因补充:

(最多只允许输入30个字)