【问题标题】:Creating a matrix out of a given vector从给定的向量创建矩阵
【发布时间】:2015-10-03 03:12:46
【问题描述】:

我无法将向量拆分为二维矩阵或给定边。例如,给定向量 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12},行 (3) 和列 (4) 可以变成 {{1 , 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}。

截至目前,代码只是在一个数组中打印出整个向量,无论它们有多少行。

int[][] reshape(int[] vector, int row, int col) {
        if (!isReshapable(vector.length, row, col)) {
            return null;
        } else {
            int[][] matrix = new int[row][col];
            for (int i = 0; i < row; i++) {
                for (int j = 0; j < col; j++) {
                    Arrays.fill(matrix, vector);
                }
            }
            return matrix;
        }
    }    

【问题讨论】:

    标签: java matrix vector


    【解决方案1】:

    您正在迭代ij。您可以将它们(以及vector 中的位置)与类似的东西一起使用,

    int p = 0;
    int[][] matrix = new int[row][col];
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++, p++) {
            matrix[i][j] = vector[p];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多