螺旋矩阵 IIPython解法
生活随笔
收集整理的這篇文章主要介紹了
螺旋矩阵 IIPython解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個正整數 n ,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。
例:
輸入:n = 3 輸出:[[1,2,3],[8,9,4],[7,6,5]]解析:
按順序填入即可,不用包含任何算法,處理好邊界和中心即可。
class Solution(object):def generateMatrix(self, n):""":type n: int:rtype: List[List[int]]"""matrix = [[0] * n for _ in range(n)]left, right, up, down = 0, n-1, 0, n-1number = 1while left < right and up < down:# 從左到右for x in range(left, right): # 注意最右邊留一個,使得每次循環填入的數據量相同。matrix[up][x] = numbernumber += 1# 從上到下for x in range(up, down):matrix[x][right] = numbernumber += 1# 從右到左for x in range(right, left, -1):matrix[down][x] = numbernumber += 1# 從下到上for x in range(down, up, -1):matrix[x][left] = numbernumber += 1# 縮小范圍left += 1right -= 1up += 1down -= 1# n為奇數時,中間呈現單獨的一個數需要單獨處理if n % 2:matrix[n // 2][n // 2] = numberreturn matrix總結
以上是生活随笔為你收集整理的螺旋矩阵 IIPython解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html中colspan有什么用
- 下一篇: 旋转链表Python解法