有偿(money)做下面这个题目,有兴趣的请进
有一个集合V={0,1,2,3,4,5,6,...n} (n<=1000)
有一个字符串数组String []a元素个数为(N=1000000左右),a的元素为V的子集
比如a[0]=1|0 (其中|是分隔符)
a[1]=1|4|3|1
.
.
.
a[k]=0|1|200|5
.
.
.
a[m]=300|100|1|2|3|6|9|4
.
.
.
a[N-1]=1|900
a[k]包括了数字0,1,200,5,a[0]包括了1,0,显然a[0]是a[k]的子集,则去掉a[k];
a[m]包括了数字300,100,1,2,3,6,9,4,a[1]包括了数值1,4,3,1,显然a[1]是a[m]的子集,则去掉a[m]又a[1]中包含了重复的数字1,将a[1]变成1,4,3;
处理数组a在最坏情况下(也就是1000000元素互不为子集,一个也不去掉时),所需要的时间规模要求不大于O(N*lgN)(N=1000000),具体如何实现,能在15s处理完这个数组嘛?
有意向的可以和我联系:kylincefr@sina.com
[此贴子已经被作者于2006-7-10 8:55:45编辑过]