【发布时间】:2021-04-01 21:33:13
【问题描述】:
def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
if len(matrix) == 0:
return []
min_row, min_col = 0, 0
max_row, max_col = len(matrix)-1, len(matrix[0])-1
result = []
while min_row <= max_row and min_col <= max_col:
#top wall
for i in range(min_col, max_col+1):
result.append(matrix[min_row][i])
min_row += 1
#right wall
for i in range(min_row, max_row+1):
result.append(matrix[i][max_col])
max_col -= 1
#bottom wall
for i in range(max_col, min_col-1, -1):
result.append(matrix[max_row][i])
max_row -= 1
#left wall
for i in range(max_row, min_row-1, -1):
result.append(matrix[i][min_col])
min_col += 1
return result
我需要帮助,因为我的代码未能通过测试用例。它通过了基本的测试用例,但我无法弄清楚这个测试用例。 输入:[[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,3,4,8,12,11,10,9,5,6,7,6] 预期:
【问题讨论】:
标签: arrays python-3.x loops matrix spiral