Leetcode59螺线矩阵ii
59螺线矩阵
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/spiral-matrix-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Solution 1
初始化后一次遍历
class Solution:
def generateMatrix(self, n: int) -> [[int]]:
matrix = [[0 for i in range(n)] for i in range(n)]
rank = n
i = 0
j = 0
k = 0
while(rank >= 2):
for _ in range(rank-1):
matrix[i][j] = k = k+1
j += 1
for _ in range(rank-1):
matrix[i][j] = k = k+1
i += 1
for _ in range(rank-1):
matrix[i][j] = k = k+1
j -= 1
for _ in range(rank-1):
matrix[i][j] = k = k+1
i -= 1
rank -= 2
i += 1
j += 1
if (n % 2):
matrix[int(n/2)][int(n/2)] = n * n
return matrix