本文共 1029 字,大约阅读时间需要 3 分钟。
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]
class Solution: def generateMatrix(self, n: int) -> List[List[int]]: res = [[0]*n for i in range(n)] rowbegin = 0 rowend = n - 1 colbegin = 0 colend = n - 1 i = 1 while rowbegin <= rowend and colbegin <= colend: #向右 for j in range(colbegin, colend + 1): res[rowbegin][j] = i i += 1 rowbegin += 1 #向下 for j in range(rowbegin, rowend + 1): res[j][colend] = i i += 1 colend -= 1 #向左 for j in range(colend, colbegin - 1, -1): res[rowend][j] = i i +=1 rowend -= 1 #向上 for j in range(rowend, rowbegin - 1, -1): res[j][colbegin] = i i += 1 colbegin += 1 return res
转载地址:http://pyoxi.baihongyu.com/