Алгоритм для определения возможных групп элементовJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Алгоритм для определения возможных групп элементов

Сообщение Anonymous »

Я царапаю голову, пытаясь сделать это, и это съесть меня. Я знаю, что это не так сложно. У меня есть несколько элементов, это число может быть равным или больше трех. Затем мне нужно определить возможную комбинацию группы предметов, которые завершит общее количество. Единственное ограничение, это то, что в группах должно быть три или более элементов, не превышающие (но включая) семь элементов. < /P>

Например: < /p>

Если у меня есть 7 элементов, то у меня могут быть эти возможные группы: < /p>


1 группа. Элементы и 1 группа из 3 пунктов. < /li>
< /ul>

Если у меня есть 12 элементов, я могу иметь эти возможные группы: < /p>


4 группы из 3 элементов. < /li>
3 группы из 4 пунктов. Группа из 7 пунктов + 1 группа из 5 пунктов. < /li>
2 группы из 3 и 1 группы из 6 пунктов. < /li>
1 группа 3, 1 группа из 4 и 1 группы из пяти пунктов. Это, очевидно, не работает. Я отстой в рекурсии. Много. < /p>

//Instance Fields
public List options;

//Method that will generate the options. The different options are
//stored in a list of "option". An individual option will store a list of
//strings with the individual groups.
public void generateOptions(int items, ArrayList currentOption){

//If the current option is null, then create a new option.
if(currentOption == null){
currentOption = new ArrayList();
}
if(items < 3){
//If the number of items is less than three then it doesn't comply with the
//requirements (teams should be more or equal than three.
currentOption.add("1 group of "+items+" items");
options.add(currentOption);
}
else{
//I can make groups of 3,4,5,6 and 7 items.
for(int i = 3;i

Подробнее здесь: https://stackoverflow.com/questions/212 ... s-of-items
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»