Mengen für Mitgliedschaft und Deduplizierung
Prüfen Sie die Existenz in konstanter Zeit
Mengen für Mitgliedschaft und Deduplizierung ist eine kostenlose Coding Interview Prep-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Coding Interview Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.
Was ein Set ermöglicht
Ein Set speichert eindeutige Elemente ohne Ordnung. Seine eigentliche Stärke besteht darin, in ungefähr konstanter Zeit zu beantworten, ob ein Wert vorhanden ist. ⚡
Warum nicht einfach eine Liste?
Die Zugehörigkeitsprüfung in einer Liste durchläuft jedes Element und benötigt daher O(n). Ein Set hasht den Wert und springt stattdessen direkt zum passenden Bucket.
Ein Set erstellen
Erstellen Sie eines mit geschweiften Klammern oder dem Aufruf set(). Ein leeres Set muss set() verwenden, da einfache geschweifte Klammern ein Dictionary erzeugen.
seen = set()
vowels = {'a', 'e', 'i', 'o', 'u'}Die Zugehörigkeitsprüfung
Verwenden Sie das Schlüsselwort in, um zu prüfen, ob ein Wert vorhanden ist. Bei einem Set ist dies die schnelle Suche, die diese Datenstruktur so nützlich macht.
if x in seen:
print('already saw it')Elemente hinzufügen
Fügen Sie einen Wert mit add hinzu. Das wiederholte Hinzufügen desselben Werts ändert nichts, sodass das Set automatisch alles eindeutig hält.
seen.add(x)Sofortige Duplikatentfernung
Übergeben Sie ein beliebiges Iterable an set(), und Duplikate verschwinden in einem Durchlauf. Das ist die kürzeste Möglichkeit, Eingabedaten aus einem Programmierwettbewerb zu deduplizieren.
unique = set(nums)Unterschiedliche Werte schnell zählen
Eine häufige Aufgabe lautet: Wie viele verschiedene Werte gibt es? Verpacken Sie die Daten in ein Set und ermitteln Sie die Länge in einer einzigen Zeile.
distinct_count = len(set(nums))Bereits Gesehenes verfolgen
Bauen Sie während der Schleife ein Set auf, um die erste Wiederholung zu erkennen. Wenn ein Wert bereits im Set enthalten ist, haben Sie sofort ein Duplikat gefunden.
for v in nums:
if v in seen:
return True
seen.add(v)Mengenoperationen gratis
Sets unterstützen Schnittmenge, Vereinigung und Differenz direkt. Der Vergleich zweier Gruppen wird dadurch zu einem Operator statt zu verschachtelten Schleifen.
common = a & b
only_a = a - bRemove und Discard
Verwenden Sie discard, um einen Wert sicher zu löschen, auch wenn er fehlt. Bei nicht vorhandenen Schlüsseln löst remove dagegen einen Fehler aus. Wählen Sie die Variante, die Ihrer Absicht entspricht.
seen.discard(x)Nur hashbare Elemente
Sets benötigen hashbare Elemente. Daher können Listen nicht enthalten sein, Tupel jedoch schon. Wandeln Sie eine Liste zunächst in ein Tupel um, wenn Sie sie speichern müssen.
grid_seen = set()
grid_seen.add((row, col))Kurzer Check
Sie müssen wissen, wie viele verschiedene Zahlen in einer Liste vorkommen.
Zusammenfassung
Ein set ermöglicht eine Mitgliedschaftsprüfung in O(1), sofortiges Entfernen von Duplikaten sowie einfache Schnittmengen und Differenzen. Greifen Sie darauf zurück, sobald Sie fragen: „Habe ich diesen Wert schon gesehen?“ 🚀
Häufig gestellte Fragen
Ist die Lektion „Mengen für Mitgliedschaft und Deduplizierung“ kostenlos?
Ja — der vollständige Text von „Mengen für Mitgliedschaft und Deduplizierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Coding Interview Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Mengen für Mitgliedschaft und Deduplizierung“?
Prüfen Sie die Existenz in konstanter Zeit Du übst Coding Interview Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Coding Interview Prep zu starten?
Keine Vorkenntnisse erforderlich. Coding Interview Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Mengen für Mitgliedschaft und Deduplizierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Coding Interview Prep-Lektion Code schreiben und ausführen?
Ja. Jede Coding Interview Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Mengen für Mitgliedschaft und Deduplizierung
- Dictionaries als Nachschlagetabellen
- Counter und defaultdict in der Praxis
- Mit einer Map gruppieren und einteilen