首页 > 试题广场 >

螺旋矩阵-ii

[编程题]螺旋矩阵-ii
  • 热度指数:10862 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个整数n,将数字1到按螺旋的顺序填入n×n的矩阵
例如:
给出的n=3,
你应该返回如下矩阵:
[
 [ 1, 2, 3 ],
 [ 8, 9, 4 ],
 [ 7, 6, 5 ]
]
示例1

输入

2

输出

[[1,2],[4,3]]
class Solution:
    def generateMatrix(self , n ):
        # write code here
        output=[]
        for i in range(n):
             output.append([0]*n)
        t = 1
        for i in range((n+1)//2):
            if t<=n**2:
                for j in range(i,n-i):
                    output[i][j] = t
                    t+=1
            if t<=n**2:
                for k in range(i+1,n-i):
                    output[k][n-i-1] = t
                    t+=1
            if t<=n**2:
                for l in range(n-i-2,i-1,-1):
                    output[n-i-1][l] = t
                    t+=1
            if t<=n**2:
                for m in range(n-i-2,i,-1):
                    output[m][i] = t
                    t+=1
        return output
发表于 2021-11-17 15:27:43 回复(0)