10个集合求交集,集合中元素海量数据。

RT,集合中没有重复元素,集合中元素为海量。可以分内存能够容纳10个集合和内存最多能够容纳两个集合考虑,或者思路请指明内存限制。
如有描述不当请指出。

阅读 5.7k
1 个回答

不管有没有限制,这题基本思路就是建立一个倒排索引表。

内存没限制的话,全放进去就完了,过最后一个集合的时候,把倒排表里10个集合都存在的捞出来。

内存有限制的话,先根据哈希值分组,保证每个组都能在内存里存下。一般来说 好的哈希算法是可以把数据均匀分组的。实在不行就参考数据库上BTree,用外存。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题