ich einen Code erstellt haben, die Duplikate in einem Array erkennt, ich glaube es nicht einen Algorithmus, der schneller ist als das ist:Duplikate in Array - möglich in o (n) zu lösen?
import java.util.HashSet;
import java.util.Set;
public class Dupe
{
public static void main (String[] args)
{
int[] myArray = {1, 2, 2, 3, 1, 4, 5, 6, 7, 4};
Set<Integer> set = new HashSet<>();
for (int a : myArray)
{
if (!set.add(a))
{
System.out.println(a);
}
}
}
}
Es ist in O (n). Wäre es auch möglich, dies in o (n) zu lösen?
Randnotiz: Dieser Algorithmus wird mehrmals Duplikate drucken, z. Wenn Sie drei 2s haben, dann wird die 2 zweimal gedruckt, ich weiß nicht, ob dies das gewünschte Verhalten ist. – maraca
Bitte vandalisiere deine Frage nicht. Ich habe die Bearbeitung auf die erste Version zurückgesetzt. –