Given a matrix(矩阵) A, return the transpose(转置矩阵) of A.
The transpose of a matrix is the matrix flipped over(翻转) it’s main diagonal(对角线), switching the row and column indices(index,索引) of the matrix. Example 1: Input: [[1,2,3],[4,5,6],[7,8,9]] Output: [[1,4,7],[2,5,8],[3,6,9]]
Example 2: Input: [[1,2,3],[4,5,6]] Output: [[1,4],[2,5],[3,6]]
Note: 1 <= A.length <= 1000 1 <= A[0].length <= 1000
class Solution { public int[][] transpose(int[][] A) { int rows=A.length; int column=A[0].length; int [][]B=new int[column][rows]; for(int i=0;i<A.length;i++){ for (int j=0;j<A[i].length;j++) { B[j][i]=A[i][j]; } } return B; } }自己的编译器里:
package com.company; import java.util.Scanner; public class 转置矩阵867 { public static int[][] transpose(int[][] A) { int rows=A.length; int column=A[0].length; int [][]B=new int[column][rows]; for(int i=0;i<A.length;i++){ for (int j=0;j<A[i].length;j++) { B[j][i]=A[i][j]; } } return B; } public static void main(String[] args) { int rows,column; Scanner scn=new Scanner(System.in); rows=scn.nextInt(); column=scn.nextInt(); int A[][]=new int[rows][column]; for (int i=0;i<rows;i++){ for (int j=0;j<column;j++){ A[i][j]=scn.nextInt(); } } int B[][]=new int[column][rows]; B=transpose(A); for(int i=0;i<B.length;i++){ for (int j=0;j<B[i].length;j++){ System.out.print(B[i][j]+ " "); } System.out.println(); } } }