陣列 59 螺旋矩陣 II (模擬行為)

2021-10-19 07:45:45 字數 719 閱讀 4681

螺旋矩陣 ii

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

示例 1:

輸入:n =

3輸出:[[1

,2,3

],[8

,9,4

],[7

,6,5

]]

示例 2:

輸入:n =

1輸出:[[1

]]

1 <= n <= 20

class

solution

//從上到下

for(

; x < startx + step; x++

)//從右到左

for(

; y > starty ; y--

)//從下到上

for(

; x > startx; x--

) step -=2

; startx++

; starty++;}

if(n %2)

return res;}}

;

注意

邊界要清楚:左閉右開

每迴圈一圈以後,step減2(而不是減1)因為要減去左右兩邊已經填好的數字

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 從下到上,填充左列 四個為一圈往裡...