3
vector<vector<int>> generateMatrix(int n) {4
vector<vector<int>> vec(n, vector<int>(n, 0));7
for (int i = 0; i < n * n; i++) {8
helper.push_back(i + 1);22
while (top <= down and left <= right) {24
for (int i = left; i <= right; i++) {25
vec[top][i] = helper[k];29
} else if (direction == 1) {30
for (int i = top; i <= down; i++) {31
vec[i][right] = helper[k];35
} else if (direction == 2) {36
for (int i = right; i >= left; i--) {37
vec[down][i] = helper[k];41
} else if (direction == 3) {42
for (int i = down; i >= top; i--) {43
vec[i][left] = helper[k];48
direction = (direction + 1) % 4;