1
class Solution {
2
public int[][] generateMatrix(int n) {
3
int startingRow = 0;
4
int endingRow = n - 1;
5
int startingCol = 0;
6
int endingCol = n - 1;
7

8
int total = n * n;
9
int element = 1;
10
int[][] matrix = new int[n][n];
11

12
while (element <= total) {
13

14
for (int i = startingCol; element <= total && i <= endingCol; i++) {
15
matrix[startingRow][i] = element;
16
element++;
17
}
18
startingRow++;
19

20
for (int i = startingRow; element <= total && i <= endingRow; i++) {
21
matrix[i][endingCol] = element;
22
element++;
23
}
24
endingCol--;
25

26
for (int i = endingCol; element <= total && i >= startingCol; i--) {
27
matrix[endingRow][i] = element;
28
element++;
29
}
30
endingRow--;
31

32
for (int i = endingRow; element <= total && i >= startingRow; i--) {
33
matrix[i][startingCol] = element;
34
element++;
35
}
36
startingCol++;
37
}
38

39
return matrix;
40
}
41
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0