题目分析:

这个题是把nxn二维数组顺时针旋转90°,旋转对应的规律如下图,图中是一个3x3的二维数组坐标转换对应的关系,即把原来的j坐标变为i坐标,再用数组长度-1-i坐标作为j坐标。再变换的时候由于不是对称互换的关系,需要一个临时的字典去储存原来的数值及其位置,对应代码如下:
【LeetCode】48. Rotate Image 解题报告(Python)
测试代码:

class Solution(object):
    def rotate(self, matrix):
        dict, length = {}, len(matrix)
        for i in range(length):
            for j in range(length):
                if (i, j) not in dict:

                    dict[(j, length - 1 - i)] = matrix[i][j]
                    matrix[i][j] = matrix[length - 1 - j][i]
                else:
                    dict[(j, length - 1 - i)] = matrix[i][j]
                    matrix[i][j] = dict[(i, j)]
        return matrix

print(Solution().rotate([[1, 2, 3], [4, 5, 6], [7, 8, 9]], ))   #提交时请删除该行

相关文章:

  • 2022-02-16
  • 2021-06-30
  • 2021-10-20
  • 2022-01-04
  • 2022-12-23
  • 2021-09-06
猜你喜欢
  • 2021-05-30
  • 2021-06-27
  • 2022-01-05
  • 2021-09-27
  • 2022-01-01
  • 2021-11-19
  • 2021-10-30
相关资源
相似解决方案