Motifs courants des tableaux 2D
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 8 sur 59.
Certains schémas apparaissent souvent lors du travail avec des tableaux 2D. Reconnaître ces schémas peut vous aider à résoudre des problèmes plus efficacement. Voici quelques schémas courants :
Parcours diagonal
L'accès 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 9Parcourir 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 (Border Traversal)
Pour parcourir les éléments de la bordure (Border), vous gardez un indice constant (0 ou size - 1) tout en faisant varier l'autre.
Pour accéder à la bordure supérieure, vous effectuez une boucle 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)
Défi
FacileCréez une méthode nommée printPatterns qui prend un tableau 2D carré d'entiers (matrix) en entrée et affiche les motifs suivants :
- Main Diagonal : Affichez tous les éléments où l'indice de ligne est égal à l'indice de colonne.
- Anti-Diagonal : Affichez tous les éléments où la somme des indices de ligne et de colonne est égale à la taille de la matrice moins 1.
- Borders : Affichez les éléments des bordures supérieure, inférieure, gauche et droite de la matrice.
La sortie 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 16Essayez 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
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots