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, 0Wektory 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 rightCzterej 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:
passPrzeką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 rightZablokowane 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] == '#':
continueSiatki 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) % CDlaczego 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
- Modelowanie stanu i przechodzenie dalej
- Przejścia po siatce i wektory kierunku
- Wykrywanie cykli w symulacjach
- Opanowanie trudnych przypadków brzegowych