目录
题目
3174. 旋转 - AcWing题库https://www.acwing.com/problem/content/3177/
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int line = input.nextInt();
int column = input.nextInt();
int[][] ans = new int[column][line];
for(int i = line - 1; i >= 0; i--){
for(int j = 0; j < column; j++){
ans[j][i] = input.nextInt();
}
}
for(int i = 0; i < ans.length; i++){
for(int j = 0; j < ans[0].length; j++){
System.out.print(ans[i][j] + " ");
}
System.out.println();
}
}
}
AC结果
思路
这个“旋转”有点像线性代数里面的“转置”,换个思路去看这题会更简单。若原数据是3行4列的,就创建一个3列4行的数组ans。然后遍历输入数据,从ans的最后一列从上往下放置数据,直至第一列的数据填满,则意味着旋转好了。最后对ans遍历输出。