Skip to content

Commit fb403cb

Browse files
refactor 59
1 parent 77eed36 commit fb403cb

File tree

1 file changed

+80
-80
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+80
-80
lines changed
Lines changed: 80 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.fishercoder.solutions;
22

33
/**
4+
* 59. Spiral Matrix II
5+
*
46
* Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
57
68
For example,
@@ -15,103 +17,101 @@
1517
*/
1618
public class _59 {
1719

20+
public static class Solution1 {
1821
public int[][] generateMatrix(int num) {
19-
int temp = num;
20-
int[][] fourEdges = new int[num][num];
21-
int value = 1;
22-
int i = 0;
23-
int j = 0;
24-
if (num % 2 == 0) {
25-
//when num is even
26-
while (i < num / 2 && j < num / 2 && temp >= 0) {
22+
int temp = num;
23+
int[][] fourEdges = new int[num][num];
24+
int value = 1;
25+
int i = 0;
26+
int j = 0;
27+
if (num % 2 == 0) {
28+
//when num is even
29+
while (i < num / 2 && j < num / 2 && temp >= 0) {
2730
/* Assign the top row */
28-
while (j < temp) {
29-
fourEdges[i][j] = value;
30-
j++;
31-
value++;
32-
33-
}
31+
while (j < temp) {
32+
fourEdges[i][j] = value;
33+
j++;
34+
value++;
35+
}
3436

3537
/* Assign the right column */
36-
while (i < temp - 1) {
37-
i++;
38-
fourEdges[i][j - 1] = value;
39-
value++;
40-
}
41-
j = j - 2;
38+
while (i < temp - 1) {
39+
i++;
40+
fourEdges[i][j - 1] = value;
41+
value++;
42+
}
43+
j = j - 2;
4244

4345
/* Assign the bottom row */
44-
while (j >= num - temp) {
45-
fourEdges[i][j] = value;
46-
j--;
47-
value++;
48-
}
49-
i--;
50-
j++;
46+
while (j >= num - temp) {
47+
fourEdges[i][j] = value;
48+
j--;
49+
value++;
50+
}
51+
i--;
52+
j++;
5153

5254
/* Assign the left column */
53-
while (i > num - temp) {
54-
fourEdges[i][j] = value;
55-
i--;
56-
value++;
57-
}
58-
//}
59-
i++;
60-
j++;
61-
temp--;
62-
}
63-
64-
} else {
65-
//when num is odd
66-
while (i < num / 2 && j < num / 2 && temp >= 0) {
55+
while (i > num - temp) {
56+
fourEdges[i][j] = value;
57+
i--;
58+
value++;
59+
}
60+
//}
61+
i++;
62+
j++;
63+
temp--;
64+
}
65+
} else {
66+
//when num is odd
67+
while (i < num / 2 && j < num / 2 && temp >= 0) {
6768
/* Assign the top row */
68-
while (j < temp) {
69-
fourEdges[i][j] = value;
70-
j++;
71-
value++;
72-
73-
}
69+
while (j < temp) {
70+
fourEdges[i][j] = value;
71+
j++;
72+
value++;
73+
}
7474

7575
/* Assign the right column */
76-
while (i < temp - 1) {
77-
i++;
78-
fourEdges[i][j - 1] = value;
79-
value++;
80-
}
81-
j = j - 2;
76+
while (i < temp - 1) {
77+
i++;
78+
fourEdges[i][j - 1] = value;
79+
value++;
80+
}
81+
j = j - 2;
8282

8383
/* Assign the bottom row */
84-
while (j >= num - temp) {
85-
fourEdges[i][j] = value;
86-
j--;
87-
value++;
88-
}
89-
i--;
90-
j++;
84+
while (j >= num - temp) {
85+
fourEdges[i][j] = value;
86+
j--;
87+
value++;
88+
}
89+
i--;
90+
j++;
9191

9292
/* Assign the left column */
93-
while (i > num - temp) {
94-
fourEdges[i][j] = value;
95-
i--;
96-
value++;
97-
}
98-
//}
99-
i++;
100-
j++;
101-
temp--;
102-
}
103-
fourEdges[num / 2][num / 2] = num * num;
93+
while (i > num - temp) {
94+
fourEdges[i][j] = value;
95+
i--;
96+
value++;
97+
}
98+
//}
99+
i++;
100+
j++;
101+
temp--;
104102
}
103+
fourEdges[num / 2][num / 2] = num * num;
104+
}
105105

106-
for (int m = 0; m < num; m++) {
107-
for (int n = 0; n < num; n++) {
108-
System.out.print(fourEdges[m][n] + "\t");
109-
if ((n + 1) % num == 0) {
110-
System.out.println();
111-
}
112-
}
106+
for (int m = 0; m < num; m++) {
107+
for (int n = 0; n < num; n++) {
108+
System.out.print(fourEdges[m][n] + "\t");
109+
if ((n + 1) % num == 0) {
110+
System.out.println();
111+
}
113112
}
114-
return fourEdges;
113+
}
114+
return fourEdges;
115115
}
116-
116+
}
117117
}

0 commit comments

Comments
 (0)