我試圖以螺旋方式打印mxn大小的矩陣。我試圖通過Java來處理這段代碼,並且如果rows = columns,我能夠正確地打印螺旋線。 對於不相等的行和列,我傾向於重複打印。因此它可以正確地打印到中心,但是它會重複一個或多個元素。我嘗試過調試,但無法實現。 任何人都可以幫助我嗎? 這是我到目前爲止的代碼。螺旋狀地打印mxn矩陣 - 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