Я пытаюсь перебрать квадратный двумерный массив для всех диагоналей сверху вниз, слева направо.У меня есть код для перебора слева направо, но мне нужно адаптировать его, чтобы выполнять итерацию другим способом.
public static void main(String[] args) {
int[][] a = {
{1, 2, 3, 4},
{0, 1, 2, 3},
{-1, 0, 1, 2},
{-2, -1, 0, 1},
};
for (int j = 0; j <= a.length + a.length - 2; j++) {
for (int k = 0; k <= j; k++) { // cols
int l = j - k; // rows
if (l < a.length && k < a.length) {
System.out.print(a[l][k] + " ");
}
}
System.out.println();
}
}
Результаты:
1
0 2
-1 1 3
-2 0 2 4
-1 1 3
0 2
1
Что означает диагонали слева направо сверху вниз.Как я могу адаптировать метод для печати диагоналей другим способом, чтобы получить следующие результаты:
-2
-1 -1
0 0 0
1 1 1 1
2 2 2
3 3
4
Спасибо за вашу помощь.