import numpy as np
list=[[1,2],[3,4],[5,6]]
t=np.array(list)
print(t)
t=np.arange(24).reshape(4,6)
print(t)
print(t.ndim)
print(t.size)
print(t.shape)
t.shape=(3,2)
print(t)
t.shape=(3,2)这里报错了,为什么改变矩阵失败了?应该怎么改变?
t.reshape(3,2)
class Solution:
def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
m = len(matrix)
if m == 0:
return []
n = len(matrix[0])
if n == 0:
return 0
res = []
dir = 1 # 方向:1 右 2 下 3 左 4 上
x = 0 # 起始列标
y = 0 # 起始行标
while True:
if x == -1 or x == n or y == -1 or y == m or matrix[y][x] == None:
break
res.append(matrix[y][x])
matrix[y][x] = None
if dir == 1 and ( x + 1 == n or matrix[y][x + 1] == None):
dir = 2
elif dir == 2 and (y + 1 == m or matrix[y + 1][x] == None):
dir = 3
elif dir == 3 and (x - 1 == -1 or matrix[y][x - 1] == None):
dir = 4
elif dir == 4 and (y - 1 == -1 or matrix[y - 1][x] == None):
dir = 1
if dir == 1:
x += 1
elif dir == 2:
y += 1
elif dir == 3:
x -= 1
elif dir == 4:
y -= 1
return res