59 螺旋矩陣二 Python

2021-09-29 03:37:49 字數 811 閱讀 3315

題目:

給定乙個正整數 n,生成乙個包含 1 到 n平方 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。

示例:輸入: 3

輸出:[

[ 1, 2, 3 ],

[ 8, 9, 4 ],

[ 7, 6, 5 ]

]思路:

螺旋的給矩陣賦值。每到邊緣,變換遍歷方向。

**:

class solution(object):

def generatematrix(self, n):

""":type n: int

:rtype: list[list[int]]

"""res=[[0 for i in range(n)] for j in range(n)]

num=1

i=0while num<=n*n:

#從左向右羅列

for k in range(i,n-i):

res[i][k]=num

num+=1

#從上到下遍歷

for k in range(i+1,n-i):

res[k][n-i-1]=num

num+=1

#從右往左遍歷

for k in range(n-i-2,i-1,-1):

res[n-i-1][k]=num

num+=1

#從下往上遍歷

for k in range(n-i-2,i,-1):

res[k][i]=num

num+=1

i+=1

return res

59 螺旋矩陣 II

給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 class solution for int i 0 i 2 num 1 i 如果不是第乙個圈,個數需要減少1 if x 1 else r1 n...

59 螺旋矩陣 II

一輪 四種遍歷 後,將座標更新到新一輪的初始位置 x 1 y 1 初始步長 step n 1,之後更新步長 step 2 n為奇數時,最後四種遍歷完之後,再新增處於最中間的數 class solution def generatematrix self,n int list list int res...

59 螺旋矩陣 II

給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 順時針畫矩陣的過程,用文字描述有 1 從左到右,填充上行 2 從上到下,填充右列 3 從右到左,填充下行 4 從下到上,填充左列 四個為一圈往裡...