插值算法
在一个a×b的数组中,要求是这样的:在数组中插入a个数,每个数都插入b遍,并且在每相邻的两个数中,不能相同,就这样,谢谢 问题点数:100、回复次数:7Top
1 楼hammer_shi(dmresearch)回复于 2002-04-22 11:17:21 得分 0
思考:
a的值肯定要大于1,否则你不可能得到那样的结果;
a个数中是否存在相同的数?
1、存在
此时你需要除去a中相同的数字(不能存在两个相同的数字,但是
每个数字都必须存在,数字放入c数组中),再查看c中是否个数大
于1,若不是则不能满足条件排列,若大于1,则将a*b的数组中一
次插入c数组。
2、不存在
此时你不只需要将这a个数按照任意顺序排列插入a*b的数组中b次。
Top
2 楼goease(Love Is Lonely)回复于 2002-04-22 12:26:25 得分 0
to :hammer_shi(凤舞九天)
或许我的表达不是很明确,我的意思是:原来的a个数都是互不相同的,插入后要保证在a×b的数组中,没有相邻两个是一样的,需要得到全部的结果的。Top
3 楼hammer_shi(dmresearch)回复于 2002-04-22 12:57:13 得分 0
你所要的全部结果是不是排列的各种可能性?包括我上面说得那一种排列?Top
4 楼goease(Love Is Lonely)回复于 2002-04-22 14:07:11 得分 0
是的,
举个例来说:
我想插入1 2 3,每个插入4次, 这样就是有一个12长度的数组
1 2 3 1 2 3 1 2 3 1 2 3
应该还有另外的17种, 就这样的
Top
5 楼hammer_shi(dmresearch)回复于 2002-04-22 15:22:04 得分 0
呵呵,有意思,我试试看。Top
6 楼yfzhu_del(溪流)回复于 2002-04-30 10:17:57 得分 100
问题已经解决,分数回收Top
7 楼goease(Love Is Lonely)回复于 2002-04-30 10:19:22 得分 0
问题解决,分数回收Top




