zoukankan      html  css  js  c++  java
  • LeetCode 面试题 01.07. 旋转矩阵

    题目

    给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,

    将图像旋转 90 度。不占用额外内存空间能否做到?

    示例

    给定 矩阵
    [
      [1,2,3],
      [4,5,6],
      [7,8,9]
    ],
    
    原地旋转输入矩阵,使其变为:
    [
      [7,4,1],
      [8,5,2],
      [9,6,3]
    ]
    
    

    思路:先将其写斜对角线翻折,再对每行以中点为中心翻折

      [1,2,3],        [1,4,7],            [7,4,1],
      [4,5,6],  ===>  [2,5,8],    ===>    [8,5,2],
      [7,8,9]         [3,6,9]             [9,6,3]
    

    代码

    public void rotate(int[][] matrix) {
            for(int i=0; i<matrix.length; i++){
                for(int j=i+1; j<matrix[0].length; j++){
                    int t = matrix[i][j];
                    matrix[i][j] = matrix[j][i];
                    matrix[j][i] = t;
                }
            }
    
            int n = matrix.length;
            int mid = n/2;
            for(int i=0; i<matrix.length; i++){
                for(int j=0; j<mid; j++){
                    int t = matrix[i][j];
                    matrix[i][j] = matrix[i][n-j-1];
                    matrix[i][n-j-1] = t;
                }
            }
        }
    

    大家如果感兴趣可以前去手搓

    本分类只用作个人记录,大佬轻喷.

  • 相关阅读:
    第37月第23天 cmmi3
    7. HTML Web Server的选择
    6. HTML URL字符编码
    5. HTML URL(Uniform Resource Locator 统一资源定位符)
    4. HTML 字符实体
    3. HTML 脚本
    2. HTML 头部 <head>
    1. HTML 文档类型 <!DOCTYPE>
    22. HTML 颜色名
    21. HTML 颜色
  • 原文地址:https://www.cnblogs.com/xiaofff/p/12653434.html
Copyright © 2011-2022 走看看