未重复数

问题
在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。

解答
整数4字节,每个字节是8位,所以共有2^32个整数,为每个整数设置一个2bit的标志位,00表示没出现过,01表示出现一次,10表示出现多次,即申请2bit类型的数组bitArr[2^32],占用内存2^32*2bit=1GB,可以接受。

遍历2.5亿个整数,设置数组bitArr[],若是00则变为01,若是01则变为10,若是10则不变,最后输出10对应的下标,即为出现一次的数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值