LeetCode 螺旋矩陣 II

2022-10-09 03:12:08 字數 1134 閱讀 8610

螺旋矩陣 ii:

給你乙個正整數n,生成乙個包含1n^2所有元素,且元素按順時針順序螺旋排列的n x n正方形矩陣matrix

示例 1:

輸入:n = 3

輸出:[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

輸入:n = 1

輸出:[[1]]

1 <= n <= 20

題解思路

模擬矩陣的生成。按照要求,初始位置設為矩陣的左上角,初始方向設為向右。若下一步的位置超出矩陣邊界,或者是之前訪問過的位置,則順時針旋轉,進入下乙個方向。如此反覆直至填入 n^2 個元素。

matrix為生成的矩陣,其初始元素設為0。由於填入的元素均為正數,我們可以判斷當前位置的元素值,若不為0,則說明已經訪問過此位置。

複雜度分析

題解**如下(**中有詳細的注釋說明):

class solution , , , };

int directionindex = 0;

// 生成矩陣

while (curnum <= maxnum)

// 到下乙個格仔

row = row + directions[directionindex][0];

column = column + directions[directionindex][1];

}// 返回

return matrix;}}

提交後反饋結果:

LeetCode 螺旋矩陣II

給定乙個正整數 n,生成乙個包含 1 到 n 2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 思路分析 請先查閱 leetcode 螺旋矩陣 這道題與列印螺旋矩陣一樣,按圈層進行操作,把遍歷修改為寫入即可。初始掃瞄座標 執行用時為 4 ...

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