-2
 public static int[] getMinimumSymmetricOfEveryRow (int [][] A)
{
    int min = Integer.MAX_VALUE;
    int[] arr=new int[A.length];
    for (int i = 0; i < A.length; i++){
        for (int j = 0; j < A[i].length; j++){
            if (A[i][j] < min && isSymmetric(A[i][j])){
                arr[i] = A[i][j];
                }
        }
    }
    return arr;
}

これは、2D配列の各行から最小対称要素の配列を返す私の関数です。array [n] [n]に対しては正常に機能しますが、array [m] [n] ...に対しては機能しません(nではなくm個の要素を返します)。何が問題なのかわかりませんか?

4

1 に答える 1

0

入力配列の形式が[row][column]であり、メソッドがgetMinimumSymmetricOfEveryColumnであると仮定すると、メソッドは次のように記述できます。

 public static int[] getMinimumSymmetricOfEveryColumn(int[][] matrix) {
    int[] columnMinimum = new int[matrix[0].length];
    for (int colimnIndex = 0; colimnIndex < matrix[0].length; colimnIndex++){
        int currentMinimum = Integer.MAX_VALUE;
        for (int rowIndex = 0; rowIndex < matrix.length; rowIndex++){
            int currentElement = matrix[rowIndex][colimnIndex];
            if (currentElement < currentMinimum && isSymmetric(currentElement)){
                columnMinimum[colimnIndex] = currentElement;
            }
        }
    }
    return columnMinimum;
}
于 2013-03-01T10:30:31.637 に答える