Förberedelse inför kodningsintervjuer · Lektion

Rutnätsvandringar och riktningsvektorer

Flytta med dx, dy och håll er inom gränserna

Lektion 2 av 413 steg

Rutnätsvandringar och riktningsvektorer är en gratis lektion i Förberedelse inför kodningsintervjuer på CoddyKit. Detta är lektion 2 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.

Att gå på ett rutnät

Många simuleringar sker på ett rutnät med rader och kolumner. En markör börjar någonstans och förflyttar sig cell för cell enligt givna riktningar. 🗺️

Håll reda på rad och kolumn

Håll positionen som ett par (r, c). Radnumret ökar uppifrån och ned, och kolumnnumret från vänster till höger.

r, c = 0, 0

Riktningsvektorer

Koda varje förflyttning som en (dr, dc)-vektor. Om den adderas till positionen förflyttas ni en cell i den riktningen, utan några if-kedjor.

dr, dc = 0, 1  # move right

De fyra grannarna

Lagra de fyra förflyttningarna i arrayer så att ni kan loopa över dem. Detta är standardmönstret upp, ned, vänster och höger.

DR = [-1, 1, 0, 0]
DC = [0, 0, -1, 1]

Ta ett steg

För att förflytta er behöver ni bara addera den valda vektorn till den aktuella cellen. Samma två rader fungerar för alla fyra riktningar.

r += DR[k]
c += DC[k]

Håll er inom gränserna

Kontrollera före varje steg att cellen ligger innanför rutnätet. Raderna går från 0 till R-1 och kolumnerna från 0 till C-1; allt annat ligger utanför brädet.

if 0 <= r < R and 0 <= c < C:
    pass

Diagonaler när det är tillåtet

Vissa problem tillåter även diagonala förflyttningar. Lägg till de fyra hörnvektorerna för att skapa en uppsättning grannar i åtta riktningar.

DR8 = [-1,-1,-1,0,0,1,1,1]
DC8 = [-1,0,1,-1,1,-1,0,1]

Sväng vänster eller höger

För en robot som svänger kan ni rotera indexet för den riktning roboten är vänd mot i stället för att skriva separata fall. Modulo gör att indexet fortsätter runt bland de fyra riktningarna.

facing = (facing + 1) % 4  # turn right

Blockerade celler och väggar

Kontrollera rutnätsvärdet före varje förflyttning. Om en cell är en vägg ska den hoppas över eller simuleringen stoppas, precis som reglerna anger.

if grid[r][c] == '#':
    continue

Rutnät med övergång vid kanten

Om rutnätet går runt kanten tar ni koordinaterna modulo storleken, så att den högra kanten smidigt ansluter till den vänstra.

r = (r + dr) % R
c = (c + dc) % C

Varför vektorer är bättre

Riktningsvektorer ersätter invecklade if-else-block med en enda tydlig loop. Färre grenar betyder färre buggar under tävlingspress.

Snabb kontroll

Ni går på ett rutnät med hjälp av riktningsvektorer och måste hålla er på brädet.

Sammanfattning

Håll positionen som (r, c), förflytta er genom att addera riktningsvektorer, loopa över de fyra grannarna och kontrollera alltid gränserna före varje steg. 🚀

Gratis att börja

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 ”Rutnätsvandringar och riktningsvektorer” gratis?

Ja – hela texten till ”Rutnätsvandringar och riktningsvektorer” 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 ”Rutnätsvandringar och riktningsvektorer”?

Flytta med dx, dy och håll er inom gränserna 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 2 av 4.

Hur lång tid tar lektionen ”Rutnätsvandringar och riktningsvektorer”?

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

  1. Modellera tillstånd och gå framåt
  2. Rutnätsvandringar och riktningsvektorer
  3. Cykeldetektering i simuleringar
  4. Bemästra knepiga specialfall
← Tillbaka till Förberedelse inför kodningsintervjuer