題目描述
給定乙個包含 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,10,9,5,6,7]
思路解析
import numpy as np
def spiralorder(self, matrix: list) -> list:
m = len(matrix) #矩陣的行
n = len(matrix[0]) #矩陣的列
if ((m==0)&(n==0)):
return
booldeside = np.zeros((m,n))
dr = [0,1,0,-1]
dc = [1,0,-1,0]
r = 0
c=0di=0
for i in range(0,m*n):
booldeside[r][c]=1
cr = r + dr[di]
cc = c + dc[di]
if (0<=cr and cr#if ((0 <= cr)&(crr = cr
c = cc
else:
di = (di+1)%4
r = r+dr[di]
c = c+dc[di]
return self
self =
matrix=[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]
#matrix=[[ 0, 0, 0 ],[ 0, 0, 0 ],[ 0, 0, 0 ],[ 0, 0, 0 ]]
print(spiralorder(self,matrix))
```
螺旋矩陣 leetcode
螺旋矩陣 給定乙個包含 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,...
LeetCode 螺旋矩陣
題目 給你乙個 m 行 n 列的矩陣 matrix 請按照 順時針螺旋順序 返回矩陣中的所有元素。輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 思路 使用left,right,up,down四個邊界值來順時針遍歷矩陣,每迴圈一次邊界值往內縮1,即l...
LeetCode 螺旋矩陣II
給定乙個正整數 n,生成乙個包含 1 到 n 2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 思路分析 請先查閱 leetcode 螺旋矩陣 這道題與列印螺旋矩陣一樣,按圈層進行操作,把遍歷修改為寫入即可。初始掃瞄座標 執行用時為 4 ...