LeetCode 59 螺旋矩陣 II

2021-10-06 20:55:47 字數 726 閱讀 6292

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

輸入: 3

輸出:[

[ 1, 2, 3 ],

[ 8, 9, 4 ],

[ 7, 6, 5 ]

]

設定這樣四個變數:

a:左上角,往陣列右邊走(行),

b:左上角,往陣列下邊走(列),

c:右下角,往陣列上邊走(行),

d:右下角,往陣列左邊走(列),

這樣就形成了乙個矩形先遍歷a行b到d-1列,然後遍歷d列a到c-1行,然後是c行d到b-1列,最後是b列c到a-1行,,,這樣類推,遍歷完外層,再就將四腳的座標向內的對角線移動,再按照上面的規則繼續遍歷,在遍歷的過程中同時給陣列賦值即可。

class

solution

break;}

if(b == d)

break;}

for(

int i=b;i)for

(int i=a;i)for

(int i=d;i>b;i--

)for

(int i=c;i>a;i--

)++a;

++b;

--c;

--d;

}return ans;

}}

leetcode 59 螺旋矩陣

題目要求 按照順時針螺旋順序 構建乙個n n的螺旋矩陣 思路 參照之前的54題輸出螺旋矩陣的思路 將單圈拆開為四個部分。每個部分迴圈的長度是相同的。單圈迴圈完之後,起始座標向右下移乙個單位,單次迴圈長度減二。對於偶數階矩陣,正常結束。對於奇數階矩陣,因為迴圈長度會減到0,需要手動加入最後最中間的乙個...

LeetCode 59 螺旋矩陣II

給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 import numpy as np class solution def generatematrix self,n type n int r...

Leetcode 59 螺旋矩陣 II

給定乙個正整數 n,生成乙個包含 1 到 n 2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。輸入 3 輸出 1,2,3 8,9,4 7,6,5 複製 這個題目也比較簡單,和第54題類似 這個題目很簡單,上下左右分別用四個變數去標誌 上 top 下 bottom 左 left 右 right ...