給定乙個正整數 n,生成乙個包含 1 到 n^2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。
示例:
輸入: 3vector> generatematrix(int n)輸出:[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
1、這道題給定乙個整數n,要求生成乙個n行n列的正方形矩陣,並且矩陣按順時針螺旋順序存放從1到n^2的所有元素。
2、這道題不難,我們前面做的螺旋矩陣1
的**完全可以拿過來改一改,就可以完成本道題目。
我們仍然把矩陣分成一層一層的,按層次填入元素。
**如下:(附詳解)
vector> generatematrix(int n)for(int i=k+1;i<=n-1-k;i++)//當前層次中最右邊的那條邊
for(int i=n-2-k;i>=k;i--)//當前層次中最下面的那條邊
for(int i=n-2-k;i>=k+1;i--)//當前層次中最左邊的那條邊
k++;//k+1,準備進入下乙個層次
}return res;//最終返回res
}
上述**實測4ms,beats 99.74% of cpp submissions。
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 ...