Ich habe eine große Liste von Ganzzahlen, die an meinen Webservice gesendet werden. Laut unseren Geschäftsregeln müssen diese Werte eindeutig sein. Was ist der performanteste Weg herauszufinden, ob es Dubletten gibt? Ich muss die Werte nicht kennen, ich muss nur wissen, ob 2 der Werte gleich sind.Was ist der performanteste Weg, um mit einer Sammlung von ganzen Zahlen auf Existenz zu prüfen?
Zuerst dachte ich über die Verwendung einer generischen Liste von Ganzzahlen und der list.Exists() -Methode, aber das ist von O (n);
Dann dachte ich über die Verwendung eines Dictionary und der ContainsKey-Methode nach. Aber ich brauche nur die Schlüssel, ich brauche die Werte nicht. Und ich denke, das ist auch eine lineare Suche.
Gibt es einen besseren Datentyp, um die Eindeutigkeit innerhalb einer Liste zu finden? Oder stehe ich mit einer linearen Suche fest?
Wenn inputList.Count! = HashSet.Count, "Houston, wir haben Duplikate!" – user7116
Das ist immer noch O (n), das Beste, was ich denke, kann er bekommen. – Marc
@sixlettervariables - Ausgezeichneter Punkt! –