Menu
Coddy logo textTech

Typowe wzorce dla tablic 2D

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 8 z 59.

Podczas pracy z tablicami 2D często pojawiają się pewne wzorce. Rozpoznawanie tych wzorców może pomóc Ci skuteczniej rozwiązywać problemy. Oto kilka popularnych wzorców:

Przechodzenie po przekątnej

Dostęp do elementów, w których indeks wiersza jest równy indeksowi kolumny (matrix[i][i]), umożliwia odczytanie głównej przekątnej. W przypadku przekątnej przeciwnej suma indeksów wiersza i kolumny jest równa rozmiarowi tablicy pomniejszonemu o 1 (matrix[i][size - 1 - i]).

Na przykład:

1  2  3
4  5  6
7  8  9

Przejdź po głównej przekątnej (matrix[i][i]): 1, 5, 9
Przejdź po przeciwprzekątnej (matrix[i][size - 1 - i]): 3, 5, 7

Przechodzenie po krawędzi

Aby przejść przez elementy na krawędzi, utrzymujesz jeden indeks jako stały (0 lub size - 1), iterując po drugim.

Aby uzyskać dostęp do górnej krawędzi, iterujesz po kolumnach, ustalając indeks wiersza na 0.

Na przykład:

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

elementy obramowania: 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (wszystkie oprócz 6 i 7)

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie printPatterns, która przyjmuje jako dane wejściowe kwadratową tablicę 2D liczb całkowitych (matrix) i wyświetla następujące wzorce:

  1. Przekątna główna: Wyświetl wszystkie elementy, dla których indeks wiersza jest równy indeksowi kolumny.
  2. Przekątna przeciwna: Wyświetl wszystkie elementy, dla których suma indeksów wiersza i kolumny jest równa rozmiarowi macierzy pomniejszonemu o 1.
  3. Krawędzie: Wyświetl elementy górnej, dolnej, lewej i prawej krawędzi macierzy.

Wynik powinien wyglądać tak:

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

Spróbuj swoich sił

// Napisz kod wyłącznie wewnątrz klasy. Nie pisz main() ani żadnego kodu poza tą klasą.
class PrintPatterns {
    public static void printPatterns(int[][] matrix) {
        // Napisz tutaj swój kod
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online