Итак, я пытаюсь создать метод, который генерирует набор мощности данной строки. До сих пор я придумал это, которое неправильно выводит «[abc, bc, c, b, ac, c, a, ab, b, a]».Создание набора мощности строки
public static ArrayList<String> powerSet(String s){
ArrayList<String> set = new ArrayList<String>();
if(!s.isEmpty())
set.add(s);
for(int i=0; i<s.length();i++){
String substring = s.substring(0, i) + s.substring(i+1);
set.addAll(powerSet(substring));
}
return set;
}
Это для части домашнего задания, и я не позволил создать какой-либо вспомогательный класс, и метод должен быть типа ArrayList. Метод должен включать рекурсию.
Я ценю любую помощь!
Что должно быть ответ? Означает ли порядок? –
@PaulBoddington Порядок не имеет значения, но правильный ответ должен быть чем-то вроде строк «», «a», «b», «c», «ab», «ac», «bc», «abc», , – skulltula
Хорошо, вы по существу сделали это. Просто добавьте «", используйте HashSet, а не ArrayList, а затем конвертируйте в ArrayList в конце. –