54 螺旋矩陣

2022-07-01 01:12:10 字數 574 閱讀 8545

本題需要螺旋列印乙個二維陣列,即每列印一層旋轉一次。

所以本題需要用到旋轉矩陣這一操作。 

**自 

zip可以將輸入的兩個一維列表,逆時針轉置成乙個二維陣列 zip(a,b)

zip(*zipped) 可以將乙個二維陣列,逆時針轉置成二維陣列

所以在本題中需要使用到 順時針轉置還需要逆序:

class solution:

def spiralorder(self, matrix: list[list[int]]) -> list[int]:

res = 

while matrix:

res += matrix.pop(0)

matrix = list(map(list,zip(*matrix)))[::-1]

return res

在加粗的一行中 外層的list用來將object轉化成list,內層的list用來將內層的tuple 轉化成list,從而可以pop

54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。輸入 1,2,3 4,5,6 7,8,9 輸出 1 2,3 6,9 8,7 4,5 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1 2,3 4,8 12,11 10,9 5,6 ...

54 螺旋矩陣

題目描述 給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,1...