C/C++怎么实现查找1000 000个数字,有没有重复?
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。(没有重复)
c/c++怎么实现??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。(没有重复)
c/c++怎么实现??
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
1.hash最方便查询了。hashset或者hashmap
2.也可以用hash来做,使用stl的hashmap,key是数值,value是计数,在把数据插入过程中判断value的值。
还有一种方法,跟1类似也是用位图来做。具体步骤就是建立一个位图数组,将生成的整数作为角标。位图数组的每一位初始化为0,读入一个数据后将相应位置为1. 插入数据时检查相应位是否为1。
bitmap 512M的内存,搞定。
100w个数字,hash一样也方便。
sort and dc
数据量太小,内存足够的情况下,照抄数据结构上的算法都可以搞定。
bitmap搞定
第二個問題可以使用Hash表,發生Hash沖突的時候再判斷是否相等
對了。。ATMega32這樣的8bit處理器上,運行這個程序估計夠嗆啊
最多只能查1000000次,别玩崩了。
复制代码