indexOfCities
содержит ссылку на массив. Эта же ссылка добавляется как элемент к listOfPermutations
с
listOfPermutations.add(indexOfCities);
в каждой итерации цикла.
Затем массив модифицируется с помощью
nextPermutation(indexOfCities);
в каждой итерации цикла. Таким образом, все сохраненные ссылки указывают на один и тот же измененный массив.
Чтобы решить эту проблему, добавьте копию массива в indexOfCities
в listOfPermutations
. Например. вот так:
int[] indexOfCitiesAux = indexOfCities.clone();
listOfPermutations.add(indexOfCitiesAux);