【发布时间】:2011-02-20 16:58:29
【问题描述】:
我正在寻找最有效的算法来检查数组中是否包含唯一元素。结果不必是唯一元素,只是相应的真或假。我知道我可以使用哈希表或类似的方法达到 O(n) 效率,但我仍在寻找在空间方面也更有效的结果。
e- 数组未排序,包含整数。
【问题讨论】:
-
嗨,数组包含整数。
-
是的,我忘记添加了。这是一个未排序的数组,谢谢。
-
不,两者都不正确。我想知道数组 /has/ 是否有唯一元素;它可以有几个独特的元素,但我只想知道它是否有一个。也就是说,该算法对于 {3,4,4,5} 或 {1,2,2} 等数组是正确的,但对于 {2,4,2,4} 是错误的。 (编辑:看起来我回复的评论被删除了......)
-
这些整数的范围是多少?如果你能保证整数可以有的不同值的数量是 k,那么我可以给你一个简单的 O(n)-time, O(k)-space 算法。
标签: arrays algorithm performance