题目:
上排给出十个数,在其下排填出对应的十个数
要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
[0,1,2,3,4,5,6,7,8,9]
思路:
1)设下排数为[a0, a1, a2, a3, a4, a5, a6, a7, a8, a9]
a0表示为0在下排出现的次数,以此类推……a9表示为9在下排出现的次数。
2)不管上排10个数分别出现几次,下排数都只有10个数,也就是只有10个位置放上排的数,
所以上排10个数分别出现的次数总和等于10,也就是a0+a1+a2+a3+a4+a5+a6+a7+a8+a9=10。
3)先不考虑2)的结论。假设a0 = 9;9出现1次,所以a9 = 1;1出现1次,所以a1 = 1,此时1出现2次,
所以a1不能等于1;推出a1 = 2, a2 = 1。(很明显0不可能出现9次,这时需再往前推算0的个数。)
4)根据3)的结论,a1和a2不可能为0,a0也不会为0;0出现的次数对应的值也不会为0。
所以再结合2)的结论,可以推出a0 = 6, a6 = 1;
结果:
上排:[0,1,2,3,4,5,6,7,8,9]
下排:[6,2,1,0,0,0,1,0,0,0]