题目地址(48. 旋转图像)

Posted 潜行前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目地址(48. 旋转图像)相关的知识,希望对你有一定的参考价值。

题目地址(48. 旋转图像)

https://leetcode-cn.com/problems/rotate-image/

题目描述

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]


示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]


 

提示:

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

 

关键点

  • (X1,Y1) —> ( X2,Y2 ) ===> X1 = Y2 ; Y1+ X2 = 矩阵 len - 1

代码

  • 语言支持:Java

Java Code:


class Solution 
    public void rotate(int[][] matrix) 
        int count = matrix.length / 2;
        int len = matrix.length-1;
        int b = matrix.length % 2;
        for(int n = 0; n < count; n++)
            for(int i = n; i < len -n  ; i++)
                int tmp = matrix[i][n];
                matrix[i][n] = matrix[len-n][i];
                matrix[len-n][i] = matrix[len-i][len-n];
                matrix[len-i][len-n] = matrix[n][len-i];
                matrix[n][len-i] = tmp;
            
        
    


复杂度分析

令 n 为数组长度。

  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( n ) O(n) O(n)
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于题目地址(48. 旋转图像)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:旋转图像48

LeetCode(48):旋转图像

LeetCode 48. 旋转图像(Rotate Image)

48. 旋转图像

48. 旋转图像

48. 旋转图像