LeetCode筆記 59螺旋矩陣

2021-08-29 01:38:04 字數 991 閱讀 9632

題目:

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

示例:

輸入:3輸出:[

[ 1, 2, 3 ],

[ 8, 9, 4 ],

[ 7, 6, 5 ]

]

思路:直接看了網上大神的**和leetcode上最快的**。先把這兩個程式看懂。

**:

public class solution else if (j == n - layer - 1) else if (i == n - layer - 1)

else }}

return result; }

/*** 在乙個n*n的矩陣中,計算(x,y)座標外有多少層,座標從0開始計算

** @param x 橫座標

* @param y 縱座標

* @param n 矩陣大小

* @return 座標外的層數

*/public int layer(int x, int y, int n)

}執行最快的**:

按照上,右,下,左的順序形成矩陣

class solution 

for (int i = start; i < len - 1 - start ; i++)

for (int i = start; i < len - 1- start; i++)

for (int i = start; i < len - 1- start; i++)

row++;

col++;

start++;

}if (n % 2 != 0)

return matrix;

}}

leetcode 59 螺旋矩陣

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

螺旋方陣(Leetcode第59題)

問題描述 螺旋矩陣 include include int main int n scanf d n int i,c 0,r 0,num 0,cnt n 2 int a n n while cnt for i r i r 1 i a n r i num 減減方法 思路 最開始我做題的想法不是這樣的,...

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...