Percursos em Grade e Vetores de Direção
Mova-se com dx, dy e permaneça dentro dos limites.
Percursos em Grade e Vetores de Direção é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.
Caminhando em uma grade
Muitas simulações acontecem em uma grade de linhas e colunas. Um marcador começa em algum ponto e se move célula por célula seguindo as direções. 🗺️
Acompanhe a linha e a coluna
Armazene sua posição como um par (r, c). A linha é indexada de cima para baixo, e a coluna, da esquerda para a direita.
r, c = 0, 0Vetores de direção
Codifique cada movimento como um vetor (dr, dc). Adicioná-lo à sua posição desloca você uma célula nessa direção, sem precisar de cadeias de condições.
dr, dc = 0, 1 # move rightOs quatro vizinhos
Armazene os quatro movimentos em listas para poder percorrê-los em um laço. Esse é o padrão tradicional: cima, baixo, esquerda e direita.
DR = [-1, 1, 0, 0]
DC = [0, 0, -1, 1]Dê um passo
Para se mover, basta adicionar o vetor escolhido à célula atual. As mesmas duas linhas funcionam para qualquer uma das quatro direções.
r += DR[k]
c += DC[k]Permaneça dentro dos limites
Antes de dar o passo, verifique se a célula está dentro da grade. As linhas vão de 0 a R-1 e as colunas, de 0 a C-1; qualquer outra posição fica fora do tabuleiro.
if 0 <= r < R and 0 <= c < C:
passDiagonais quando permitidas
Alguns problemas também permitem movimentos diagonais. Adicione os quatro vetores dos cantos para formar um conjunto de vizinhos em oito direções.
DR8 = [-1,-1,-1,0,0,1,1,1]
DC8 = [-1,0,1,-1,1,-1,0,1]Virando à esquerda ou à direita
Para um robô que vira, gire o índice da direção para a qual ele está voltado, em vez de escrever vários casos. O módulo mantém o ciclo entre as quatro direções.
facing = (facing + 1) % 4 # turn rightCélulas bloqueadas e paredes
Verifique o valor da grade antes de se mover. Se uma célula for uma parede, ignore-a ou pare, exatamente como as regras determinarem.
if grid[r][c] == '#':
continueGrades com passagem pelas bordas
Se a grade der a volta, use as coordenadas módulo do tamanho para que a borda direita se conecte suavemente à borda esquerda.
r = (r + dr) % R
c = (c + dc) % CPor que os vetores são melhores
Os vetores de direção substituem blocos complexos de se-senão por um único laço organizado. Menos ramificações significam menos erros sob a pressão de uma competição.
Verificação rápida
Você percorre uma grade usando vetores de direção e precisa permanecer no tabuleiro.
Recapitulação
Armazene a posição como (r, c), mova-se adicionando vetores de direção, percorra os quatro vizinhos em um laço e sempre verifique os limites antes de dar um passo. 🚀
Perguntas Frequentes
A aula “Percursos em Grade e Vetores de Direção” é grátis?
Sim — o texto completo de “Percursos em Grade e Vetores de Direção” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.
O que vou aprender em “Percursos em Grade e Vetores de Direção”?
Mova-se com dx, dy e permaneça dentro dos limites. Você pratica Coding Interview Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Coding Interview Prep?
Nenhuma experiência prévia é necessária. Coding Interview Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Percursos em Grade e Vetores de Direção”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Coding Interview Prep?
Sim. Cada aula de Coding Interview Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Modele o Estado e Avance
- Percursos em Grade e Vetores de Direção
- Detecção de Ciclos em Simulações
- Domine os Casos Extremos Complicados