美文网首页
Java 算法-旋转图像(矩阵处理)

Java 算法-旋转图像(矩阵处理)

作者: 琼珶和予 | 来源:发表于2018-01-11 09:58 被阅读0次

  今天在lintCode做了一道题,自己想了一下做法,做出来,但是觉得有必要记录下来。

题意:
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
样例:
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
挑战:
能否在原地完成?

1.解题思路

  这个题乍一看懵逼,其实非常的简单。下面我用图来表示解题思路:


2.代码

public void rotate(int[][] matrix) {
        if (matrix.length == 0 || matrix[0].length == 0) {
            return;
        }
        //顺时针旋转270度
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < i; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        //逆时针旋转180度
        for(int i = 0; i < matrix.length; i++) {
            for(int j = 0; j < matrix[0].length / 2; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[i][matrix[0].length - 1 - j];
                matrix[i][matrix[0].length - 1 - j] = temp;
            }
        }
    }

相关文章

  • Java 算法-旋转图像(矩阵处理)

      今天在lintCode做了一道题,自己想了一下做法,做出来,但是觉得有必要记录下来。 题意: 样例: 挑战: ...

  • [leetcode-数组]旋转矩阵

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

  • 1418-旋转矩阵

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

  • opencv图像旋转矩阵

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

  • [没事儿刷两道-Leetcode面试题 01.07.] 旋转矩阵

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

  • 01.07 旋转矩阵

    题目描述 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 9...

  • 旋转矩阵

    题目描述: 给你一幅由N × N矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90...

  • 面试题01.07.旋转矩阵

    题目描述 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 9...

  • leecode刷题(10)-- 旋转图像

    leecode刷题(10)-- 旋转图像 旋转图像 描述: 给定一个 n × n 的二维矩阵表示一个图像。 将图像...

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

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

网友评论

      本文标题:Java 算法-旋转图像(矩阵处理)

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