旋转2D整数数组是一个常见的编程问题,可以通过多种方法来实现。下面是一个使用Python编写的简单方法,可以实现2D整数数组的顺时针旋转。
def rotate(matrix):
n = len(matrix)
for layer in range(n // 2):
first = layer
last = n - 1 - layer
for i in range(first, last):
temp = matrix[first][i]
matrix[first][i] = matrix[last-i][first]
matrix[last-i][first] = matrix[last][last-i]
matrix[last][last-i] = matrix[i][last]
matrix[i][last] = temp
return matrix
# 示例
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
rotated_matrix = rotate(matrix)
for row in rotated_matrix:
print(row)
输出结果:
[7, 4, 1]
[8, 5, 2]
[9, 6, 3]
这个方法将数组分为层,然后将每层的元素顺时针旋转90度。这个方法的时间复杂度为O(n^2),其中n是数组的边长。
领取专属 10元无门槛券
手把手带您无忧上云