算法题,矩阵打印
输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]
输出: [ [1], [2,5], [3,6,9], [4,7,10], [8,11], [12] ]
标题
`
def matrix_print(matrix):
ans = []
m, n = len(matrix), len(matrix[0])
for i in range(m + n - 1):
# x = i if i < m else m - 1
# y = 0 if i < m else i - m + 1
# temp = []
# while x >= 0 and y < n:
# temp.append(matrix[x][y])
# x -= 1
# y += 1
# ans.append(temp)
x = 0 if i < n else i - n + 1
y = i if i < n else n - 1
temp = []
while x < m and y >= 0:
temp.append(matrix[x][y])
x += 1
y -= 1
ans.append(temp)
return ans
def matrix_print(matrix):
ans = []
m, n = len(matrix), len(matrix[0])
for i in range(m + n - 1):
if i % 2 == 1:
x = i if i < m else m - 1
y = 0 if i < m else i - m + 1
temp = []
while x >= 0 and y < n:
temp.append(matrix[x][y])
x -= 1
y += 1
ans.append(temp)
else:
x = 0 if i < n else i - n + 1
y = i if i < n else n - 1
temp = []
while x < m and y >= 0:
temp.append(matrix[x][y])
x += 1
y -= 1
ans.append(temp)
return ans
# 测试示例
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
output = matrix_print(matrix)
print(output)
`