美文网首页
48. 旋转图像(中等)-矩阵

48. 旋转图像(中等)-矩阵

作者: MatrixZ | 来源:发表于2023-05-23 15:09 被阅读0次

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

分析

  • 不用一次想移动的太多,可以移动一位
  • 另外相当于依次移动,但是需要将其中一个拿出来作为空位,最后再补上
  • 陷阱就是那出那个出来,下面一次需要顺序补上
  • 脑袋中需要想找个这样的一个旋转场景
  • 可以假设四个角的移动
  • 被填充的行等于移动的数据的列
class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        def rotate_layer(matrix, start, end):

            for i in range(end - start):
                top = matrix[start][start+i]

                # 第一列移动到第一行
                matrix[start][start+i] = matrix[end - i][start]

                # 最后一行移动到第一列
                matrix[end - i][start] = matrix[end][end - i]

                # 最后一列移动到最后一行
                matrix[end][end - i] = matrix[start + i][end]

                # 第一行移动到最后一列
                matrix[start+i][end] = top
        
        n = len(matrix)

        for i in range(n//2):

            rotate_layer(matrix, i, n - i - 1)



相关文章

  • leetcode 48.图像旋转 及LCP 2. 黑白方格画

    48.图像旋转给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像...

  • LeetCodeDay06

    48. 旋转图像 描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像旋转 90 度(顺时针)。 注意 你...

  • 48. 旋转图像

    48. 旋转图像 1.想法 解:最终将所有矩阵的元素旋转90度 问题:需要旋转90度 方法:先根据对角线旋转,然后...

  • LeetCode 48 RotateImage

    题目 48. Rotate Image 题目描述 给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 ...

  • LeetCode:48. 旋转图像简单思路求解

    题目:48. 旋转图像[https://leetcode-cn.com/problems/rotate-image...

  • opencv图像旋转矩阵

    在Python opencv中图像旋转矩阵可以用来旋转源图片到目标图片、旋转源坐标点到目标坐标点。根据图像旋转矩阵...

  • 48.旋转图像

  • 48. 旋转图像

    给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地 旋转图像,这意味着你...

  • 48. 旋转图像

    一、题目原型: 给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。 说明:你必须在原地旋转...

  • 48.旋转图像

    思路旋转分为两步:1、将矩阵转置,2、翻转当前行

网友评论

      本文标题:48. 旋转图像(中等)-矩阵

      本文链接:https://www.haomeiwen.com/subject/mcpxedtx.html