像素翻转

来源:互联网 发布:云计算的架构 pdf 编辑:程序博客网 时间:2024/06/10 04:54

题解

这道题可以模拟,但是有转化的手段使得代码更加容易编写。

package 像素翻转;public class transform {    public int[][] transformImage(int[][] mat, int n) {        // 将旋转操作转化为翻转操作,使得代码好写了许多        int middle = n / 2;        for (int i = 0; i < middle; i++) {            // i <--> n-i-1            for(int j=0;j<n;j++){                int t = n-i-1;                mat[i][j] ^= mat[t][j];                mat[t][j] ^= mat[i][j];                mat[i][j] ^= mat[t][j];            }        }        for(int i=0;i<n;i++){            for(int j=0;j<i;j++){                int tmp = mat[i][j];                mat[i][j] = mat[j][i];                mat[j][i] = tmp;            }        }        return mat;    }    public static void main(String[] args) {    }}
0 0
原创粉丝点击