目标:有一个N*N的二维数组,需要将将这个二维数组旋转90度。效果如下图
思路一:
生成一个新的二维数组,然后逐个元素填写数据。最后再覆盖掉原数组。
根据上图,很容易得出坐标关系:
通过逐位遍历,即可完成。
#python3
def unit_rotate_1(block_unit):
list_len = len(block_unit)
#复制一下二维数组
tmp_unit = [[block_unit[j][i] for i in range(list_len)] for j in range(list_len)]
#直接逐个坐标点替换数据
for i in range(list_len):
for j in range(list_len):
block_unit[i][j] = tmp_unit[list_len - j - 1][i]
这个