Algorithmen und Datenstrukturen · Middle · Frage 63 von 75

Jede Zahl in einem Array kommt zweimal vor, außer einer. Wie findet man sie in O(n) Zeit und O(1) Speicher?

Antwort zeigen

Richtige Antwort: Alles per XOR verknüpfen: Paare fallen weg, eine bleibt

Erklärung

a ^ a = 0 und a ^ 0 = a, und XOR ist kommutativ, Paare verschwinden also in jeder Reihenfolge. Sortieren ist O(n log n); eine Map ist O(n) Zeit, aber O(n) Speicher.

Zum Weiterlesen

Fehler in der Frage

Algorithmen und Datenstrukturen · Middle · Frage 63

Teste dich selbst

Mach den Test Algorithmen und Datenstrukturen · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen