Menu
Coddy logo textTech

Gängige 2D-Array-Muster

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 8 von 59.

Bestimmte Muster treten beim Arbeiten mit 2D-Arrays häufig auf. Das Erkennen dieser Muster kann Ihnen helfen, Probleme effizienter zu lösen. Hier sind einige häufige Muster:

Diagonale Traversierung

Der Zugriff auf Elemente, bei denen der Zeilenindex gleich dem Spaltenindex ist (matrix[i][i]), liefert Ihnen die Hauptdiagonale. Für die Anti-Diagonale entspricht die Summe aus Zeilen- und Spaltenindex der Größe des Arrays minus 1 (matrix[i][size - 1 - i]).

Zum Beispiel:

1  2  3
4  5  6
7  8  9

Durchlaufen der Hauptdiagonale (matrix[i][i]): 1, 5, 9
Durchlaufen der Antidiagonale (matrix[i][size - 1 - i]): 3, 5, 7

Border-Durchlauf

Um die Border-Elemente zu durchlaufen, halten Sie einen Index konstant (0 oder size - 1), während Sie über den anderen iterieren.

Um auf den oberen Rand zuzugreifen, iterieren Sie über die Spalten, wobei der Zeilenindex auf 0 fixiert ist.

Zum Beispiel:

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

Randelemente: 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (alle außer 6 und 7)

challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens printPatterns, die ein quadratisches 2D-Array von Ganzzahlen (matrix) als Eingabe entgegennimmt und die folgenden Muster ausgibt:

  1. Main Diagonal: Gib alle Elemente aus, bei denen der Zeilenindex gleich dem Spaltenindex ist.
  2. Anti-Diagonal: Gib alle Elemente aus, bei denen die Summe von Zeilen- und Spaltenindex gleich der Größe der Matrix minus 1 ist.
  3. Borders: Gib die Elemente der oberen, unteren, linken und rechten Ränder der Matrix aus.

Die Ausgabe sollte wie folgt aussehen:

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

Probier es selbst

// Schreibe deinen Code nur innerhalb der Klasse. Schreibe kein main() und keinen Code außerhalb dieser Klasse.
class PrintPatterns {
    public static void printPatterns(int[][] matrix) {
        // Schreibe deinen Code hier
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf