Я пытаюсь напечатать матрицу размера mxn по спирали. Я попытался работать с этим кодом через Java, и я смог правильно напечатать спираль, если rows = columns. Для неравных строк и столбцов я имею тенденцию к повторению в печати. Таким образом, он правильно печатает весь путь до центра, но затем повторяет один или несколько элементов. Я пробовал отлаживать, но не мог достичь далеко. Может ли кто-нибудь помочь мне с этим? Вот код, который я получил до сих пор.print mxn matrix spirally - java
public class SpiralMatrix {
public static void main (String args[]){
int[][] mat = { {1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11,12, 13, 14, 15}};
int i,n=3,m=5,r=m-1,q=n-1;
while(q>0 && r>0){
for(i=m-1-r;i<=r;i++){
System.out.println(mat[m-1-r][i]);
}
for(i=n-1-q+1;i<=q;i++){
System.out.println(mat[i][r]);
}
for(i=r-1;i>=m-1-r;i--){
System.out.println(mat[q][i]);
}
for(i=q-1;i>=n-1-q+1;i--){
System.out.println(mat[i][n-1-q]);
}
q--;
r--;
}
}
}
Выходной сигнал этого заключается в следующем:
1
2
3
4
5
10
15
14
13
12
11
6
7
8
9
8
7
Таким образом, после достижения среднего значения 9 он отслеживает обратно 8 и 7. PS: Это не домашняя работу, я отрабатываю мои навыки для интервью. И, пожалуйста, успокойся, я пожизненный ученик! Спасибо! Буду признателен за вашу помощь.
Ах! Блестящий ... Я понимаю ваше мнение! Большое спасибо – Sid