试题编号: | 201503-1 |
试题名称: | 图像旋转 |
时间限制: | 5.0s |
内存限制: | 256.0MB |
开始这样结果内存超限了,
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int [][]a = new int[n][m];
for(int i = 0; i < n; i++){
for(int j = 0;j < m;j++){
a[i][j] = in.nextInt();
}
}
for(int j = m - 1;j >= 0;j--){
for(int i = 0;i < n;i++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
参考https://blog.csdn.net/lml0703/article/details/84977235
需要用BufferedReader进行读入,防止内存超限
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main
{
public static void main(String[] args) throws IOException{
Scanner in = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
String[] temp;
str = br.readLine();
temp = str.split(" ");
int n = Integer.parseInt(temp[0]);
int m = Integer.parseInt(temp[1]);
int [][]a = new int[n][m];
for(int i = 0; i < n; i++){
str = br.readLine();
temp = str.split(" ");
for(int j = 0;j < temp.length;j++){
a[i][j] = Integer.parseInt(temp[j]);
}
}
for(int j = m - 1;j >= 0;j--){
for(int i = 0;i < n;i++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}