作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下形式的数据:
ID ATTR
3 10
1 20
1 20
4 30
... ...
其中 ID 和 Attr 未排序且可能包含重复项。 ID 的范围是 1-20,000 左右,ATTR 是无符号整数。我可能需要一次处理 100,000 到 500,000 对。
我正在寻找:
所以在上面的数据中,我想知道 (1,20) 出现了两次并且有 3 个不同的对。
我目前在我天真的方法中使用哈希表。我保留了一个唯一对的计数器,如果我插入的项目已经存在,则递减计数器。我还保留了一组非唯一对的 ID。 (都是第一次见面)
性能和尺寸是同等重要的问题。考虑到性能和尺寸问题,我实际上可以接受相对较高(比如 0.5%)的误报率。 (我还使用光谱绽放实现了这一点)
我不是那么聪明,所以我确信有更好的解决方案,我想听听您最喜欢的哈希表实现/任何其他想法。 :)
最佳答案
一个哈希表,其键如 <id>=<attr>
是解决这个问题的绝佳方法。如果你能容忍错误,我想你可以通过绽放变得更小/更快。但你真的需要这样做吗?
关于计算未排序数据中唯一对和非唯一对实例的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7549410/
我有一个查询写成: Y.all('.myClass:checked'); 它在除 IE (8) 以外的所有方面都运行良好。我似乎无法让 ':checked' 与 IE 一起工作。是否可以像这样仅查询选
我有一个问题,很可能是一些丑陋的 CSS 错误,但我就是找不到解决方案(我尝试了一些更改也没有帮助)。 某些文本内超链接(不是全部!)在 Internet Explorer 中显示时没有以下空格。 h
我是一名优秀的程序员,十分优秀!