Menu
Coddy logo textTech

Motifs courants des tableaux 2D

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 8 sur 59.

Certains motifs apparaissent souvent lors du travail avec des tableaux 2D. Reconnaître ces motifs peut vous aider à résoudre les problèmes plus efficacement. Voici quelques motifs courants :

Parcours diagonal

Accéder aux éléments où l'indice de ligne est égal à l'indice de colonne (matrix[i][i]) vous donne la diagonale principale. Pour l'anti-diagonale, la somme des indices de ligne et de colonne est égale à la taille du tableau moins 1 (matrix[i][size - 1 - i]).

Par exemple :

1  2  3
4  5  6
7  8  9

Parcourir la diagonale principale (matrix[i][i]) : 1, 5, 9
Parcourir l'anti-diagonale (matrix[i][size - 1 - i]) : 3, 5, 7

Parcours de la bordure

Pour parcourir les éléments de bordure, vous gardez un indice constant (0 ou size - 1) tout en itérant sur l'autre.

Pour accéder à la bordure supérieure, vous itérez sur les colonnes avec l'indice de ligne fixé à 0.

Par exemple :

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

éléments de bordure : 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (tous sauf 6 et 7)

challenge icon

Défi

Facile

Créez une méthode nommée printPatterns qui prend un tableau 2D carré d'entiers (matrix) en entrée et affiche les motifs suivants :

  1. Diagonale principale : Affichez tous les éléments où l'indice de ligne est égal à l'indice de colonne.
  2. Anti-diagonale : Affichez tous les éléments où la somme des indices de ligne et de colonne est égale à la taille de la matrice moins 1.
  3. Bordures : Affichez les éléments des bordures supérieure, inférieure, gauche et droite de la matrice.

Cet affichage devrait ressembler à ceci :

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

Aide-mémoire

Schémas courants de parcours de tableaux 2D :

Parcours diagonal

Diagonale principale : matrix[i][i] (indice de ligne égal à indice de colonne)

Anti-diagonale : matrix[i][size - 1 - i] (somme des indices de ligne et de colonne égale size - 1)

1  2  3
4  5  6
7  8  9

Diagonale principale : 1, 5, 9
Anti-diagonale : 3, 5, 7

Parcours des bordures

Maintenir un indice constant (0 ou size - 1) en itérant sur l'autre :

  • Bordure supérieure : row = 0, itérer les colonnes
  • Bordure inférieure : row = size - 1, itérer les colonnes
  • Bordure gauche : column = 0, itérer les lignes
  • Bordure droite : column = size - 1, itérer les lignes

Essayez vous-même

// Écrivez votre code uniquement à l'intérieur de la classe. N'écrivez pas main() ni aucun code en dehors de cette classe.
class PrintPatterns {
    public static void printPatterns(int[][] matrix) {
        // Écrivez votre code ici
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux