最初,我使用了时间复杂度为 0(n^2) 的嵌套循环。为了更有效的 0(n),解决方案我编写了以下代码,并希望获得一些帮助/了解如何找出任何元素及其 .Next() 是否具有相同的值“重复”,如果是,请打印他们出去。
public class FindDuplicates {
public static void main(String arg[]){
int[] str={1 , 2 , 3 ,4 ,5 ,3 ,5 , 4,3,43,1,33,4,5};
List<Integer> list = new LinkedList<Integer>();
for(int x : str) {
list.add(x);
}
Collections.sort(list);
System.out.println(list);
Iterator<Integer> it = list.listIterator();
while(it.hasNext() && it.next() != null) {
/* Pseudocode => if(it.next().equals(it.next.next)); */
/* OR Pseudocode => if(it.next() == it.next().next) */
System.out.println(it) ;
}
}
}