PS~其实感觉没有必要记录数据~把数据取余记录其出现次数就行了~
可以这样试试~因为其余数据都是出现3次~
b[a[i]%1024]+=(int )pow((int )(log(a[i])/log(1024)),8);这样是不是简单很多~还得要分正负数讨论~~
解释一下~之所以取8次方是因为数据最多出现3次<8次~用8进制可以确保不同段位冲突组合的唯一性~
感觉这就是一张比较简单的带有哈希性质的数组~不过记录的不是数据本身而是其余数罢了~就是这样~~
[此贴子已经被作者于2017-5-27 23:07编辑过]