Когда я проверить его с 5 элементов набора, я получаю следующее исключение:Напишите метод, чтобы вычислить все перестановки строки уникальных символов
Исключение в потоке «основной» java.lang.IndexOutOfBoundsException: Индекс : 4, Размер: 2
Вот код:
static ArrayList<ArrayList<Integer>> permutation(ArrayList<Integer> set){
ArrayList<ArrayList<Integer>> permutations = new ArrayList<ArrayList<Integer>>();
if (set.size() <= 1) {
permutations.add(set);
return permutations;
}
for (int element : set){
ArrayList<Integer> setcopy = new ArrayList<Integer>();
setcopy.addAll(set);
setcopy.remove(element);
add(permutations, element, permutation(setcopy));
}
return permutations;
}
static void add(ArrayList<ArrayList<Integer>> permutations, int element, ArrayList<ArrayList<Integer>> setcopy){
for (ArrayList<Integer> al : setcopy){
ArrayList<Integer> p = new ArrayList<Integer>();
p.add(element);
p.addAll(al);
permutations.add(p);
}
}
В какой строке? пожалуйста, добавьте полную информацию об ошибке – Mzf