Я борюсь с этим алгоритмом.Это должно работать следующим образом:
Если я введу fe 6880, моя программа должна вывести 80 86 80 86 60 68 68.
Как видите, комбинации повторяются.Это потому, что он смотрит на каждую цифру, поскольку это другой объект. В моей программе это правильно.
Вот мой код:
public static Set<Integer> get2DCombinations(List<Integer> digits) {
Set<Integer> combinations = new TreeSet<>();
int t = 0;
for(Integer i : digits) {
for (Integer j : digits) {
t = i * 10 + j;
if (t / 10 >= 1) {
combinations.add(t);
}
}
}
return combinations;
}
Возвращает определенный набор комбинаций, где все комбинации имеют 2 цифры.
Отлично работает, но только с 4-значными числами.Конечно, я могу использовать еще один цикл for-each, но есть ли способ его автоматизировать?
Так что, если я введу 6-значное число, он должен вывести все возможные 3-значные комбинации своих цифр, иесли я введу 8-значный номер, он должен вывести все возможные 4-значные комбинации. Входные числа всегда имеют четное количество цифр.
Не могли бы вы указать мне, как это сделать?