classSolution { publicint[][] generateMatrix(int n) { inttotalNum= n * n; intcount=1; int[][] ans = newint[n][n]; intleft=0, right = n - 1, up = 0, down = n - 1; while (count <= totalNum) { for (inti= left; i <= right; i++) { ans[up][i] = count++; } for (inti= up + 1; i <= down; i++) { ans[i][right] = count++; } for (inti= right - 1; i >= left && count <= totalNum; i--) { ans[down][i] = count++; } for (inti= down - 1; i > up && count <= totalNum; i--) { ans[i][left] = count++; } left += 1; right -= 1; up += 1; down -= 1; } return ans; } }