12
12
public class MatrixInSpiral {
13
13
14
14
/**
15
- *
15
+ * Prints a 2D array {@param a} in spiral form (clockwise).
16
+ *
16
17
* @param a
17
18
*/
18
19
public static void printMatrixInSpiral (int [][] a ) {
@@ -25,26 +26,34 @@ public static void printMatrixInSpiral(int[][] a) {
25
26
*/
26
27
// prints the top row
27
28
for (int i = x , j = x ; i < r && j < c ; j ++) {
28
- out .print (a [i ][j ]);
29
+ out .print (a [i ][j ] + " " );
29
30
}
30
31
// prints the right most column
31
32
for (int i = x + 1 , j = c - 1 ; i < r ; i ++) {
32
- out .print (a [i ][j ]);
33
+ out .print (a [i ][j ] + " " );
33
34
}
34
35
// prints the bottom row
35
- for (int i = r - 1 , j = c - 2 ; j >= x ; j --) {
36
- out .print (a [i ][j ]);
36
+ for (int i = r - 1 , j = c - 2 ; i > x && j >= x ; j --) {
37
+ out .print (a [i ][j ] + " " );
37
38
}
38
39
// prints the left most column
39
40
for (int i = r - 2 , j = x ; i > x ; i --) {
40
- out .print (a [i ][j ]);
41
+ out .print (a [i ][j ] + " " );
41
42
}
42
43
}
43
44
}
44
45
45
46
public static void main (String a []) {
47
+ printMatrixInSpiral (new int [][]{{1 }, {2 }});
48
+ out .println ();
49
+ printMatrixInSpiral (new int [][]{{1 , 2 }, {3 , 4 }});
50
+ out .println ();
51
+ printMatrixInSpiral (new int [][]{{1 , 2 , 3 }, {4 , 5 , 6 }});
52
+ out .println ();
46
53
printMatrixInSpiral (new int [][]{{1 , 2 , 3 , 4 }, {5 , 6 , 7 , 8 }, {9 , 10 , 11 , 12 }});
47
54
out .println ();
48
55
printMatrixInSpiral (new int [][]{{1 , 2 , 3 , 4 }, {5 , 6 , 7 , 8 }, {9 , 10 , 11 , 12 }, {13 , 14 , 15 , 16 }});
56
+ out .println ();
57
+ printMatrixInSpiral (new int [][]{{1 , 2 , 3 , 4 , 5 , 6 }, {7 , 8 , 9 , 10 , 11 , 12 }, {13 , 14 , 15 , 16 , 17 , 18 }});
49
58
}
50
59
}
0 commit comments