CSP201503-1图像旋转!

试题编号: 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();
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_18287147/article/details/106969219