版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_29110265/article/details/84326535
问题描述: | 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。 样例输入 2 3 样例输出 3 4 评测用例规模与约定 1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。 说明:该题经过多次优化尝试,但还是由于JAVA代码自身的原因导致内存超限,因而只有90分。笔者已尝试同样的思想通过C++验证满分从而证明了出错问题非代码编写所致 |
package imageRotation;
import java.util.Scanner;
public class Main {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//行
int m = sc.nextInt();//列
int[][] photo=new int[n][m];//存储图像
for(int y=0;y<n;y++)
for(int x=0;x<m;x++)
photo[y][x]=sc.nextInt();
for(int x=m-1;x>=0;x--)//通过规律观察旋转过后输出按照横坐标从大到小,纵坐标从小到大的规律
{
for(int y=0;y<n;y++)
System.out.print(photo[y][x]+" ");
System.out.println();
}
}
}