百万量级整数集合,只有两个数字相同,要求写出这个数字

//1.装入set集合去除重复

方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示两次,11多次)进行,共需内存内存,还可以接受。然后扫描这2百万个整数,查看Bitmap中相对应位,如果是00变01,01变10,10变11。所描完事后,查看bitmap,把对应位是01的整数输出即可。

方案2:利用hash(x)%100,进行划分100个小区域的方法。然后在小区域内遍历区域内的数,(内存不够无法同时加载百万个数时)

猜你喜欢

转载自blog.csdn.net/guojiayuan002/article/details/81166712