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 dem Spaltenindex entspricht (matrix[i][i]), ergibt die Hauptdiagonale. Bei der Nebendiagonale 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

Randdurchlauf

Um die Randbereiche zu durchlaufen, lässt du einen Index (0 oder size - 1) konstant, während du über den anderen iterierst.

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 übernimmt und die folgenden Muster ausgibt:

  1. Hauptdiagonale: Gib alle Elemente aus, bei denen der Zeilenindex dem Spaltenindex entspricht.
  2. Gegendiagonale: Gib alle Elemente aus, bei denen die Summe aus Zeilen- und Spaltenindex der Größe der Matrix minus 1 entspricht.
  3. Ränder: Gib die Elemente des oberen, unteren, linken und rechten Randes 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

Übe selbstständig: Online-Java-Compiler