Voorbereiding op programmeerinterviews · Les

Een prefixsomarray bouwen

Lopende totalen één keer vooraf berekenen

Les 1 van 413 stappen

Een prefixsomarray bouwen is een gratis Voorbereiding op programmeerinterviews-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Voorbereiding op programmeerinterviews. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Het probleem van herhaalde sommen

Stel je voor dat je honderden vragen over sommen van bereiken op één array moet beantwoorden. Elk bereik vanaf nul optellen is traag. Een prefixsom lost dat op. 🚀

Wat een prefixsom is

Een array met prefixsommen bewaart op elke index het totaal van alle elementen tot en met die positie. Eén voorbereidende doorgang verandert trage sommen in directe antwoorden.

Een klein voorbeeld

Voor [3, 1, 4] zijn de oplopende totalen 3, daarna 4 en daarna 8. Die groeiende lijst met totalen is precies je prefixsom.

De basisrecursie

Elke waarde is het vorige totaal plus het huidige element. Deze eenregelige recursie vormt de kern van de hele techniek.

prefix[i] = prefix[i - 1] + a[i]

Bouw hem in code

Doorloop de array één keer en houd een oplopend totaal bij. Voeg bij elke stap de nieuwe som toe, zodat het opbouwen van de array één enkele lineaire doorgang is.

prefix = [0]
for x in a:
    prefix.append(prefix[-1] + x)

Waarom een voorloopnul helpt

Als je prefix met een voorloop-nul begint, bevat prefix[i] de som van de eerste i elementen. Daardoor wordt rekenen met bereiken later eenvoudig.

Indexeringsconventie

Met de nul vooraan is prefix[k] gelijk aan a[0] + ... + a[k-1]. Als je deze conventie goed toepast, voorkom je pijnlijke fouten waarbij je één positie te ver zit.

Kosten van het opbouwen

Bij het opbouwen van de prefixarray raak je elk element precies één keer aan, dus het kost O(n)-tijd. Je betaalt die kosten één keer en gebruikt het resultaat daarna steeds opnieuw.

Eén keer voorberekenen, vaak opvragen

De grote winst is de afweging: besteed vooraf één lineaire doorgang, zodat elke latere somvraag een snelle opzoekactie wordt in plaats van een lus.

Een Pythonse snelkoppeling

De standaardbibliotheek kan de totalen voor je opbouwen. itertools.accumulate levert de oplopende sommen in één overzichtelijke aanroep.

from itertools import accumulate
prefix = [0] + list(accumulate(a))

Let op het geheugen

De prefixarray heeft dezelfde lengte als je invoer plus één. Houd er bij enorme invoer rekening mee dat dit je geheugengebruik verdubbelt.

Korte controle

Je bouwt een prefixarray. Wat bevat index 0 meestal?

Samenvatting

Je hebt geleerd hoe je in één doorgang van O(n) een array met prefixsommen opbouwt, met een voorloopnul voor eenvoudige indexering. Bereken het één keer vooraf en gebruik het daarna opnieuw. ✅

Gratis beginnen

Leer Voorbereiding op programmeerinterviews met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
90
Lessen
360

Veelgestelde vragen

Is de les “Een prefixsomarray bouwen” gratis?

Ja — de volledige tekst van “Een prefixsomarray bouwen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Voorbereiding op programmeerinterviews wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Wat leer ik in “Een prefixsomarray bouwen”?

Lopende totalen één keer vooraf berekenen Je oefent met Voorbereiding op programmeerinterviews door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Voorbereiding op programmeerinterviews te beginnen?

Ervaring vooraf is niet nodig. Voorbereiding op programmeerinterviews op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Een prefixsomarray bouwen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Voorbereiding op programmeerinterviews?

Ja. Elke les over Voorbereiding op programmeerinterviews bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Een prefixsomarray bouwen
  2. Elk bereik optellen met aftrekken
  3. Subarrays met een doelsom tellen
  4. Verschilarrays voor bereikupdates
← Terug naar Voorbereiding op programmeerinterviews