螺旋矩阵II
描述
中等
给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
解题
第54题是有一个二维矩阵,螺旋取出其值,这一题反了一下而已,往矩阵填数字,而且还是方阵
可以看作一圈一圈从外圈到内圈填数字
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
result = [[0 for i in range(n)] for j in range(n)]
count = 1
j = 0 # 螺旋矩阵一圈一圈的第几圈
while count <= n*n:
# 从左往右
for i in range(j, n-j):
result[j][i] = count
count += 1
# 从上往下
for i in range(j+1, n-j):
result[i][n-j-1] = count
count += 1
# 从右往左
for i in range(n-j-2, j-1, -1):
result[n-j-1][i] = count
count += 1
# 从下往上
for i in range(n-j-2, j, -1):
result[i][j] = count
count += 1
j += 1 # 填完一圈的数字,往里一圈
return result
来源:CSDN
作者:FortyTwo4200
链接:https://blog.csdn.net/qq_37876050/article/details/104605400