59. 螺旋矩陣2

更多精彩內(nèi)容,請(qǐng)關(guān)注【力扣中等題】。

題目

難度:★★★☆☆
類型:數(shù)組
方法:排序

給定一個(gè)正整數(shù) n,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的正方形矩陣。

示例

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

解答

這道題目與【題目56. 螺旋矩陣】類似,這里我們首先建立一個(gè)全為零的空?qǐng)D,然后從外向內(nèi)填充連續(xù)數(shù)字,注意轉(zhuǎn)折點(diǎn)的判斷過程:遇到邊界或者非零數(shù)。

class Solution:
    def generateMatrix(self, n):
        """
        :param n: int
        :return: List[List[int]]
        """

        matrix = [[0]*n for _ in range(n)]
        i, j, di, dj = 0, 0, 0, 1
        for k in range(1, n**2+1):
            matrix[i][j] = k
            if matrix[(i+di) % n][(j+dj) % n] != 0:
                di, dj = dj, -di
            i += di
            j += dj
        return matrix

如有疑問或建議,歡迎評(píng)論區(qū)留言~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 給定一個(gè)正整數(shù) n,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的正方形矩陣。 示例: 輸入:...
    燭火的咆哮閱讀 374評(píng)論 0 0
  • 題目 給定一個(gè)正整數(shù) n,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的正方形矩陣。 示例:輸...
    多彩海洋閱讀 168評(píng)論 1 1
  • 題目鏈接難度:中等 類型: 數(shù)組 給定一個(gè)正整數(shù) n,生成一個(gè)包含 1 到 n2 所有元素,且...
    wzNote閱讀 3,037評(píng)論 0 1
  • 給定一個(gè)正整數(shù) n,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的正方形矩陣。示例:輸入: 3...
    genggejianyi閱讀 219評(píng)論 0 0
  • 螺旋矩陣 給定一個(gè)包含 m x n 個(gè)元素的矩陣(m 行, n 列),請(qǐng)按照順時(shí)針螺旋順序,返回矩陣中的所有元素。...
    Buyun0閱讀 370評(píng)論 0 1

友情鏈接更多精彩內(nèi)容