Java - 查找重复元素的有效方法

时间:2016-08-31 12:47:06

标签: java arrays arraylist time-complexity

任何人都可以帮助我从概念上理解以下哪些选项可用于我:

我有一个int元素数组,我正在寻找一种方法,我可以看到其中任何一个是重复的。我正在努力记住时间复杂性,并希望找到一个O(n)时间的解决方案。

考虑到这个特定的边界,我不能使用嵌套的for循环迭代所有n个元素,因为这个数组可能包含成千上万的指标。

任何可能对我有帮助的想法或建议?

1 个答案:

答案 0 :(得分:2)

HashSet<T> set获取T[] array。 如果

set.size() != array.length

然后你有重复

使HashSet具有O(n)复杂度。

不要忘记在equals覆盖hashcodeT