dty*_*dty 37
你也许可以用一下套装?我不知道Java的BitSet有多高效.但是9999999可能的值只需要9999999/8 = 1250000字节=仅超过1Mb.在遍历值数组时,将相应位设置为true.然后,只要找到位设置为true,就可以遍历位集并输出相应的值.
1Mb将适合CPU缓存,因此根据位集实现,这可能非常有效.
这也具有对数据进行排序的副作用.
...这是O(n)的算法,因为它需要在输入数据的单次通过中,该组操作是O(1)(对于基于阵列的集合这样),并且输出传输也O( m)其中m是唯一值的数量,根据定义,必须<= n.
| 归档时间: |
|
| 查看次数: |
8330 次 |
| 最近记录: |