Menu
Coddy logo textTech

Padrões Comuns de Arrays 2D

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 8 de 59.

Certos padrões frequentemente aparecem ao trabalhar com matrizes 2D. Reconhecer esses padrões pode ajudá-lo a resolver problemas de forma mais eficiente. Aqui estão alguns padrões comuns:

Travessia Diagonal

Acessar elementos onde o índice da linha é igual ao índice da coluna (matrix[i][i]) oferece a diagonal principal. Para a anti-diagonal, a soma dos índices da linha e da coluna é igual ao tamanho da matriz menos 1 (matrix[i][size - 1 - i]).

Por exemplo:

1  2  3
4  5  6
7  8  9

Percorra a diagonal principal (matrix[i][i]): 1, 5, 9
Percorra a anti-diagonal (matrix[i][size - 1 - i]): 3, 5, 7

Border Traversal

Para percorrer os elementos das bordas, você mantém um índice constante (0 ou size - 1) enquanto meandras pelo outro.

Para acessar a borda superior, você itera sobre as colunas com o índice da linha fixado em 0.

Por exemplo:

1  2  3  4
5  6  7  8
9 10 11 12

elementos da borda: 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (todos exceto 6 e 7)

challenge icon

Desafio

Fácil

Crie um método chamado printPatterns que recebe uma matriz bidimensional quadrada de inteiros (matrix) como entrada e imprime os seguintes padrões:

  1. Diagonal Principal: Imprima todos os elementos onde o índice da linha é igual ao índice da coluna.
  2. Anti-Diagonal: Imprima todos os elementos onde a soma dos índices da linha e da coluna é igual ao tamanho da matriz menos 1.
  3. Bordas: Imprima os elementos das bordas superior, inferior, esquerda e direita da matriz.

A saída deve ser assim:

Main Diagonal: 1 6 11 16 
Anti-Diagonal: 4 7 10 13 
Top Border: 1 2 3 4 
Bottom Border: 13 14 15 16 
Left Border: 1 5 9 13 
Right Border: 4 8 12 16

Experimente você mesmo

// Escreva seu código apenas dentro da classe. Não escreva main() ou qualquer código fora desta classe.
class PrintPatterns {
    public static void printPatterns(int[][] matrix) {
        // Escreva seu código aqui
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo