2016-02-24 3 views
0

Я работаю над дискретной математической проблемой на Java, где я пытаюсь найти r-перестановки до n с повторением. Это означает, что если г = 4, п = 2 мы можем иметь: 1 1 2 2, и т.д.
Повторение означает 1112 представляет собой уникальное сочетание , однако 1211 не потому, что 1112 уже содержит 3 1 и 1 2.
Поэтому я написал код для повторения всех перестановок, и каждая итерация хранится в массиве. Существует «Мастер-массив», который я планировал сделать 2D-массивом, где первое измерение - все уникальные массивы или перестановки. Поэтому все, что мне нужно сделать, это создать массив temp новой итерации и использовать Arrays.sort и сравнить массив temp со всеми индексами в основном массиве (это работает, потому что 1211, 1112, 2111 и 1121 все виды до 1112 в по возрастанию).
Теперь проблема заключается в хранении этих массивов в 2D-массиве Masterkey.
Я пробовал:
Masterkey [count] = array ;, но когда я печатаю (Masterkey [count] [0]), выводится только одно целое, а не массив. (массив - это самая новая перестановка)
Masterkey [count] = Arrayys.copyOf (array, array.length) ;, еще раз печатает единственное целое число, а не массив.
Masterkey [count] = array.clone() ;, также выводит только целое число.
Возможно, я пропустил что-то простое, но я просто пытаюсь получить массив, который будет храниться в Masterkey.2D-массив, содержащий массивы

ответ

1

Masterkey[count][0] всегда печатает одно целое число, поскольку Masterkey[count] = array. поэтому Masterkey[count][0] - это то же самое, что и array[0]. Однако, если вы назначите array на номер Masterkey[count][0], он распечатает массив.

+0

Не было бы Masterkey [count] [0] искать int, а не массив, поэтому не работает? Просто попробовал, и он сказал, чтобы преобразовать массив в тип int – AlwaysLearning

+0

Потому что, я думаю, здесь, но, скорее всего, вы инициализировали 'Masterkey' как массив int. Вам просто нужно обновить его, чтобы иметь массив ints, а не только ints. – khuderm

+0

Извините, что обозначение для объявления Masterkey в массиве ints, а не только ints? – AlwaysLearning

Смежные вопросы