classSolution: defgenerateMatrix(self, n: int) -> List[List[int]]: max_layer = (n + 1) // 2 ans = [[0]*n for _ inrange(n)] number = 1 for layer inrange(max_layer): for i inrange(layer, n-layer): ans[layer][i] = number number += 1 for i inrange(layer+1, n-layer): ans[i][n-layer-1] = number number += 1 iflen(ans) == n *n: return ans for i inrange(n-layer-2, layer-1, -1): ans[n-layer-1][i] = number number += 1 for i inrange(n-layer-2, layer, -1): ans[i][layer] = number number += 1 return ans