Competitive Programming Academy · leksjon

Feilsøk raskt: stresstester og triage

En WA-til-AC-rutine under tidspress

Leksjon 4 av 413 trinn

Feilsøk raskt: stresstester og triage er en gratis leksjon i Competitive Programming Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Competitive Programming Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Competitive Programming Academy inneholder totalt 4 leksjoner.

Tiden løper

I en konkurranse er et feil svar en oppgave du må løse raskt. En rolig rutine slår panisk gjetting hver eneste gang. ⏱️

Les resultatet først

La resultatet veilede deg. WA betyr feil logikk, TLE betyr at programmet er for tregt, og RE peker på en krasj, for eksempel en indeksfeil.

Feilsøk TLE

Ved TLE må du kontrollere kompleksiteten mot begrensningene. En skjult nøstet løkke eller treg innlesing er vanligvis årsaken.

Feilsøk RE

En kjøretidsfeil betyr ofte en indeks utenfor området, divisjon med null eller for dyp rekursjon. Gjenskap feilen med en liten inndata.

Feilsøk WA

Ved feil svar bør du først mistenke kanttilfeller: tom inndata, N lik 1, verdier som alle er like eller maksimale grenser.

Skriv en brute force-løsning

Kod en liten og åpenbart korrekt brute force-løsning. Den er for treg for de faktiske grensene, men perfekt som fasit.

Generer tilfeldige tester

Skriv en liten generator som skriver ut tilfeldige inndata innenfor små grenser. Små tilfeller avslører feil uten å overvelde deg.

import random
n = random.randint(1, 6)
print(n)
print(*[random.randint(1, 9) for _ in range(n)])

Stresstest de to løsningene

Kjør løsningen din og brute force-løsningen på de samme tilfeldige inndataene, og sammenlign resultatene. Det første avviket er et krympet tilfelle som feiler.

for _ in range(1000):
    inp = gen()
    if solve(inp) != brute(inp):
        print("FAIL", inp); break

Gjør moteksempelet mindre

Når du har et tilfelle som feiler, gjør det så lite som mulig. En feil med to elementer er mye enklere å forstå enn en med hundre.

Skriv ut og inspiser tilstanden

Legg inn raske utskrifter til stderr, slik at de ikke forurenser outputen din. Følg med på variablene i det lille tilfelle som feiler.

import sys
print("dp =", dp, file=sys.stderr)

Vit når du skal gå videre

Hvis et problem stopper deg opp, bytt til et annet og kom tilbake senere. Et friskt blikk og spart tid gir flere poeng totalt.

Rask kontroll

Du får stadig WA på et problem og ser ikke hvorfor. Hva er det mest pålitelige neste steget?

Oppsummering

Les resultatet, feilsøk etter type, og stresstest deretter mot en brute force-løsning for å finne et lite tilfelle som feiler. Bevar roen og feilsøk systematisk. 🧰

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Feilsøk raskt: stresstester og triage» gratis?

Ja – hele teksten i «Feilsøk raskt: stresstester og triage» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Competitive Programming Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Competitive Programming Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Feilsøk raskt: stresstester og triage»?

En WA-til-AC-rutine under tidspress Du øver på Competitive Programming Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Competitive Programming Academy?

Ingen tidligere erfaring er nødvendig. Competitive Programming Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Feilsøk raskt: stresstester og triage»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Competitive Programming Academy-leksjonen?

Ja. Alle Competitive Programming Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Vinnende og tapende tilstander i spill
  2. Nim og Grundy-tallet
  3. Møt på midten
  4. Feilsøk raskt: stresstester og triage
← Tilbake til Competitive Programming Academy