給定乙個正整數 n,生成乙個包含 1 到 n
2n^2
n2所有元素,且元素按順時針順序螺旋排列的正方形矩陣。
示例:輸入: 3
輸出:[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]這是經典的陣列題,題目看起來簡單,但做起來的時候,很容易因為邊界的問題搞到自己十分混亂。這裡我推薦一下我的做法,首先是按圈來排列數字,然後把一圈拆成四個步驟,現實從左到右,然後再從上到下,再從右到左,最後從下到上這樣按順序的四步,完成一圈。按這樣的順序走,出錯的概率就會少一點。
class
solution
for(
int i = row +
1; i <= round; i++)if
(row < round && col < round)
for(
int i = round; i > row; i--)}
row++
; col++
; round--;}
return ans;}}
;
力扣59 螺旋矩陣 II
原題 這道題目為 這道題目的公升級款版本 可以沿用上道題目的逆方向思考。class solution def generatematrix self,n int list list int if n 0 return if n 1 return 1 matrix list range 1,n 2 1...
力扣 54 螺旋矩陣
給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...
力扣54 螺旋矩陣
原題 給你乙個m行n列的矩陣matrix,請按照 順時針螺旋順序 返回矩陣中的所有元素。個人理解 把自己比作正在行走的 棋子,按照右,下 左,上的順序進行移動。每一次碰到編輯觸發換方向,每一次還方向,走路的行為發生變化,走路的行為就是x,y的座標。設定好邊界和觸發邊界換向的條件和邊界的變化就可以解決...