LeetCode-59、螺旋矩阵 II-中等
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
代码:
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
if n == 1:
return [[1]]
res = [[0 for j in range(n)] for i in range(n)]
num = 1
for x in range((n+1)//2):
for j in range(x, n-x):
res[x][j] = num
num += 1
for i in range(x+1, n-x):
res[i][n-1-x] = num
num += 1
for j in range(n-2-x, x-1, -1):
res[n-1-x][j] = num
num += 1
for i in range(n-2-x, x, -1):
res[i][x] = num
num += 1
return res