矩阵的转置。 Hackerrank测试用例失败

时间:2018-02-09 05:50:24

标签: java matrix transpose

我在hackerrank中遇到一个相当简单的问题。问题要求输入方形矩阵并打印它的转置。在注册比赛后可以在这里找到问题。问题的名称是Transpose Matrix: https://www.hackerrank.com/contests/csdp-contest/challenges/

我在Java代码中对此问题的解决方案如下:

    import java.io.*;
    public class Solution {
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String line1[] = br.readLine().split(" ");//Read the first line to find the size of the array
            int n = line1.length;
            int ar[][] = new int[n][n];//initialize an integer array with size n
            int rowNumber = 0;
            for (int i=0;i<n;i++)
                ar[rowNumber][i] = Integer.parseInt(line1[i]);//Store the first line in the array
            rowNumber = 1;
            //Store the next input lines in the array if any
            for (int j=0;j<n-1;j++){
                String line[] = br.readLine().split(" ");
                for(int i=0;i<line.length;i++){
                    ar[rowNumber][i] = Integer.parseInt(line[i]);
                }
                rowNumber++;
            }
            //Print the transpose of the matrix by printing ar[j][i] instead of [i][j]
            for(int i=0;i<rowNumber;i++){
                for (int j=0;j<rowNumber;j++){
                    System.out.print(ar[j][i]+" ");
                }
                System.out.println();
            }
        }
    }

上面的代码传递了与问题一起给出的测试用例,但是当我提交时,它失败了一个测试用例。我无法理解我是否遗漏了任何边缘情况或代码中是否存在错误。你能帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不熟悉这个测验,但通常数字类型是常见问题(如int算术中的溢出等)。

在这里你似乎没有任何算术问题,但重新阅读问题并检查假设(输入格式可能?)总是值得的。