美文网首页
48. 旋转图像

48. 旋转图像

作者: spark打酱油 | 来源:发表于2022-08-19 17:57 被阅读0次

1.题目

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

image.png

提示:

n == matrix.length == matrix[i].length
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000

2.思路

  • 使用辅助数组
  • 原数组的列等于转变后新数组的行
  • 原数组的行等于转变后新数组的列(数组的长度-i)

3.代码

object Solution {
   def rotate(matrix: Array[Array[Int]]): Unit = {
    val array: Array[Array[Int]] = Array.ofDim[Int](matrix.length,matrix.length)
    for (i<-0 until matrix.length){
      for(j<-0 until matrix.length){
        array(j)(matrix.length-i-1) = matrix(i)(j)
      }
    }
    for (i<-0 until matrix.length){
      for(j<-0 until matrix.length){
        matrix(i)(j) = array (i)(j)
      }
    }
//    matrix.foreach(x=>x.foreach(println(_)))
  }
}

4.复杂度

  • 时间复杂度:O(N^2),其中 N 是 matrix 的边长。
  • 空间复杂度:O(N^2),我们需要使用一个和 matrix 大小相同的辅助数组。

相关文章

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

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

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

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

  • LeetCodeDay06

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

  • 48.旋转图像

  • 48. 旋转图像

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

  • 48. 旋转图像

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

  • 48.旋转图像

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

  • 48. 旋转图像

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

  • 48. 旋转图像

    【Description】 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: ...

  • 48. 旋转图像

    【Description】给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你...

网友评论

      本文标题:48. 旋转图像

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