0Pricing
Coding Interview Prep · Aula

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, 0

Vetores 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 right

Os 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:
    pass

Diagonais 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 right

Cé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] == '#':
    continue

Grades 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) % C

Por 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

  1. Modele o Estado e Avance
  2. Percursos em Grade e Vetores de Direção
  3. Detecção de Ciclos em Simulações
  4. Domine os Casos Extremos Complicados
← Voltar para Coding Interview Prep