59. Spiral Matrix II
solution
# value递进,坐标变换: https://algo.monster/liteproblems/59
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
row_start, row_end = 0, n - 1
col_start, col_end = 0, n - 1
num = 1
res = [[0 for _ in range(n)] for _ in range(n)]
while row_end >= row_start and col_end >= col_start:
for i in range(col_start, col_end + 1):
res[row_start][i] = num
num += 1
row_start += 1
for i in range(row_start, row_end + 1):
res[i][col_end] = num
num += 1
col_end -= 1
for i in range(col_end, col_start - 1, -1):
res[row_end][i] = num
num += 1
row_end -= 1
for i in range(row_end, row_start - 1, -1):
res[i][col_start] = num
num += 1
col_start += 1
return resfollow up
Last updated