旋转二维数组是一个常见的编程问题,可以通过多次翻转实现。以下是一个简单的Python代码示例,用于旋转一个二维数组(矩阵):
def rotate(matrix):
n = len(matrix)
# 水平翻转
for i in range(n // 2):
for j in range(n):
matrix[i][j], matrix[n - i - 1][j] = matrix[n - i - 1][j], matrix[i][j]
# 主对角线翻转
for i in range(n):
for j in range(i + 1, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
return matrix
这个函数接受一个二维数组作为输入,并返回旋转后的数组。首先,它会将数组的每一行进行水平翻转,然后再将每个元素与其对应的对角线上的元素进行交换。这样就可以实现二维数组的旋转。
例如,给定以下二维数组:
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
应用rotate
函数后,将得到以下结果:
[
[7, 4, 1],
[8, 5, 2],
[9, 6, 3]
]
这个问题可以使用许多不同的编程语言和方法来解决,但是基本思路是相同的。
领取专属 10元无门槛券
手把手带您无忧上云