任何人都可以帮助我从概念上理解以下哪些选项可用于我:
我有一个int元素数组,我正在寻找一种方法,我可以看到其中任何一个是重复的。我正在努力记住时间复杂性,并希望找到一个O(n)
时间的解决方案。
考虑到这个特定的边界,我不能使用嵌套的for循环迭代所有n个元素,因为这个数组可能包含成千上万的指标。
任何可能对我有帮助的想法或建议?
答案 0 :(得分:2)
从HashSet<T> set
获取T[] array
。
如果
set.size() != array.length
然后你有重复
使HashSet
具有O(n)
复杂度。
不要忘记在equals
覆盖hashcode
和T
。