0Pricing
Coding Interview Prep · Lekcja

Przejścia po siatce i wektory kierunku

Poruszanie się za pomocą dx, dy i pozostawanie w granicach

Przejścia po siatce i wektory kierunku to bezpłatna lekcja Coding Interview Prep na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Coding Interview Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Coding Interview Prep zawiera 4 lekcji w sumie.

Poruszanie się po siatce

Wiele symulacji odbywa się na siatce wierszy i kolumn. Znacznik zaczyna w pewnym miejscu i porusza się komórka po komórce zgodnie z kierunkami. 🗺️

Śledź wiersz i kolumnę

Przechowuj pozycję jako parę (r, c). Wiersz jest numerowany z góry na dół, a kolumna od lewej do prawej.

r, c = 0, 0

Wektory kierunku

Zakoduj każdy ruch jako wektor (dr, dc). Dodanie go do pozycji przesuwa ją o jedną komórkę w danym kierunku, bez potrzeby tworzenia wielu instrukcji warunkowych.

dr, dc = 0, 1  # move right

Czterej sąsiedzi

Przechowuj cztery ruchy w tablicach, aby móc przejść po nich w pętli. To standardowy schemat: góra, dół, lewo i prawo.

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

Wykonaj jeden krok

Aby się poruszyć, po prostu dodaj wybrany wektor do bieżącej komórki. Te same dwie linie działają dla każdego z czterech kierunków.

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

Pozostań w granicach

Przed wykonaniem ruchu sprawdź, czy komórka znajduje się wewnątrz siatki. Wiersze mają numery od 0 do R-1, a kolumny od 0 do C-1; każda inna wartość oznacza wyjście poza planszę.

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

Przekątne, gdy są dozwolone

Niektóre zadania dopuszczają także ruchy po przekątnej. Dodaj cztery wektory narożne, aby uzyskać zbiór sąsiadów w ośmiu kierunkach.

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

Skręcanie w lewo lub w prawo

W przypadku robota, który skręca, zmieniaj indeks kierunku, zamiast pisać osobne przypadki. Operacja modulo pozwala cyklicznie przechodzić przez cztery kierunki.

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

Zablokowane komórki i ściany

Przed ruchem sprawdź wartość w siatce. Jeśli komórka jest ścianą, pomiń ją albo zatrzymaj się, dokładnie tak, jak opisują to reguły.

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

Siatki z zawijaniem

Jeśli siatka zawija się, obliczaj współrzędne modulo rozmiaru, aby prawa krawędź płynnie łączyła się z lewą.

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

Dlaczego warto używać wektorów

Wektory kierunku zastępują skomplikowane bloki if-else jedną uporządkowaną pętlą. Mniejsza liczba rozgałęzień oznacza mniej błędów pod presją czasu na konkursie.

Szybkie sprawdzenie

Porusza się Pan/Pani po siatce za pomocą wektorów kierunku i musi pozostać na planszy.

Podsumowanie

Przechowuj pozycję jako (r, c), poruszaj się przez dodawanie wektorów kierunku, przechodź w pętli po czterech sąsiadach i zawsze sprawdzaj granice przed wykonaniem ruchu. 🚀

Często zadawane pytania

Czy lekcja „Przejścia po siatce i wektory kierunku” jest bezpłatna?

Tak — pełny tekst „Przejścia po siatce i wektory kierunku” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Coding Interview Prep, przejdź na CoddyKit PRO. Kurs Coding Interview Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Przejścia po siatce i wektory kierunku”?

Poruszanie się za pomocą dx, dy i pozostawanie w granicach Ćwiczysz Coding Interview Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Coding Interview Prep?

Nie wymagamy żadnego doświadczenia. Coding Interview Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Przejścia po siatce i wektory kierunku”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Coding Interview Prep?

Tak. Każda lekcja Coding Interview Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Modelowanie stanu i przechodzenie dalej
  2. Przejścia po siatce i wektory kierunku
  3. Wykrywanie cykli w symulacjach
  4. Opanowanie trudnych przypadków brzegowych
← Powrót do Coding Interview Prep