題目:
給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。
示例:
輸入:3輸出:[思路:直接看了網上大神的**和leetcode上最快的**。先把這兩個程式看懂。[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
**:
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...