Mängder för medlemskap och deduplicering
Kontrollera förekomst på konstant tid
Mängder för medlemskap och deduplicering är en gratis lektion i Förberedelse inför kodningsintervjuer på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Förberedelse inför kodningsintervjuer, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Förberedelse inför kodningsintervjuer innehåller totalt 4 lektioner.
Vad en mängd ger er
En mängd lagrar unika element utan ordning, och dess verkliga styrka är att besvara frågan ”finns detta här?” på ungefär konstant tid. ⚡
Varför inte bara en lista
Att kontrollera medlemskap i en lista går igenom varje element och tar därför O(n). En mängd hashar värdet och hoppar direkt till rätt bucket i stället.
Skapa en mängd
Skapa en med klammerparenteser eller anropet set(). En tom mängd måste skapas med set(), eftersom vanliga klammerparenteser skapar en dictionary.
seen = set()
vowels = {'a', 'e', 'i', 'o', 'u'}Medlemskapstestet
Använd nyckelordet in för att fråga om ett värde finns. För en mängd är detta den snabba uppslagning som gör strukturen värd att använda.
if x in seen:
print('already saw it')Lägga till element
Lägg till ett värde med add. Om samma värde upprepas händer ingenting, så mängden ser automatiskt till att allt förblir unikt.
seen.add(x)Omedelbar dubblettborttagning
Skicka vilken itererbar samling som helst till set(), så försvinner dubbletterna i en enda genomgång. Det är det kortaste sättet att ta bort dubbletter från indata i tävlingsprogrammering.
unique = set(nums)Räkna unika värden snabbt
En vanlig uppgift är ”hur många unika värden finns det?”. Lägg datan i en mängd och hämta dess längd på en enda rad.
distinct_count = len(set(nums))Håll reda på vad ni har sett
Bygg en mängd medan ni loopar för att upptäcka den första upprepningen. Om ett värde redan finns i mängden har ni hittat en dubblett direkt.
for v in nums:
if v in seen:
return True
seen.add(v)Mängdoperationer på köpet
Mängder stöder snitt, union och differens direkt. Att jämföra två grupper blir en enda operator i stället för nästlade loopar.
common = a & b
only_a = a - bTa bort med remove och discard
Använd discard för att ta bort säkert även om värdet saknas, medan remove ger ett fel när nyckeln saknas. Välj det som motsvarar avsikten.
seen.discard(x)Endast hashbara element
Mängder behöver hashbara element, så listor kan inte läggas till, men tupler kan det. Konvertera först en lista till en tupel om den måste lagras.
grid_seen = set()
grid_seen.add((row, col))Snabb kontroll
Ni behöver veta hur många olika tal som förekommer i en lista.
Sammanfattning
En mängd ger medlemskapskontroll i O(1), omedelbar borttagning av dubbletter samt enkla snitt och differenser. Använd den när frågan är ”har detta förekommit?”. 🚀
Lär dig Förberedelse inför kodningsintervjuer med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 90
- Lektioner
- 360
Vanliga frågor
Är lektionen ”Mängder för medlemskap och deduplicering” gratis?
Ja – hela texten till ”Mängder för medlemskap och deduplicering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Förberedelse inför kodningsintervjuer, kan Ni uppgradera till CoddyKit PRO. Kursen i Förberedelse inför kodningsintervjuer innehåller totalt 4 lektioner.
Vad lär jag mig i ”Mängder för medlemskap och deduplicering”?
Kontrollera förekomst på konstant tid Ni övar på Förberedelse inför kodningsintervjuer med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Förberedelse inför kodningsintervjuer?
Du behöver inga förkunskaper. Utbildningen i Förberedelse inför kodningsintervjuer på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Mängder för medlemskap och deduplicering”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Förberedelse inför kodningsintervjuer-lektionen?
Ja. Varje Förberedelse inför kodningsintervjuer-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Mängder för medlemskap och deduplicering
- Dictionaries som uppslagstabeller
- Counter och defaultdict i praktiken
- Gruppera och sortera i fack med en map