умножения матриц

надо умножить матрицы коэффициенты которых находятся в LinkedList

смог сделать такое

        LinkedList<LinkedList<Integer>> matrix1 = new LinkedList<>();
        LinkedList<LinkedList<Integer>> matrix2 = new LinkedList<>();

 for (int i = 0; i < n; i++) {
            LinkedList<Integer> temporaryM1 = matrix1.get(i);
            LinkedList<Integer> subList = new LinkedList<>();

            for (int j = 0; j < n; j++) {
                int res = 0;

                for (int k = 0; k < n; k++) {
                    LinkedList<Integer> temporaryM2 = matrix2.get(k);

                    res += temporaryM1.get(k) * temporaryM2.get(j);
                }

                subList.add(res);
            }

            multiplied.add(subList);
        }

но я не знаю как сделать умножения когда матрица представляется 1 списком т.е не

LinkedList<LinkedList<Integer>> matrix1 = new LinkedList<>();

а

LinkedList<Integer> matrix1 = new LinkedList<>();

Ответы (1 шт):

Автор решения: qeqolla

так смог разобраться должно быть так

for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n; ++j) {
                int res = 0;
                for (int k = 0; k < n; ++k) {
                    res += m1.get(i * n + k) * m2.get(k * n + j);
                }
                result.add(res);
            }
        }
→ Ссылка