问题描述
旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。
输入格式:
输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。
接下来n行每行包含m个整数,表示输入的图像。
输出格式:
输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。
样例输入
2 3
1 5 3
3 2 4
样例输出
3 4
5 2
1 3
代码记录:
第一次做题,没注意到格式,大概是对的,就没改了
public class Test1 {
public Test1(int[][] matrix) {
int row = matrix.length;
int clo = matrix[0].length;
int[][] result = new int[clo][row];
for (int i = 0; i < clo; i++) {
for (int j = 0; j < row; j++) {
result[clo-1-i][j] = matrix[j][i];
}
}
System.out.println("旋转后");
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[0].length; j++) {
System.out.printf("%4d",result[i][j]);
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = new int[][]{{3, 2, 1}, {6, 5, 4}, {9, 8, 7}, {12, 11, 10}};
System.out.println("旋转前");
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
System.out.printf("%4d",matrix[i][j]);
}
System.out.println();
}
new Test1(matrix);
}
}