@FlashHaos

Как разбить массив на группы с равными суммами в каждой группе?

Коллеги, подскажите алгоритм, которым можно разбить массив чисел на n групп так, чтобы суммы чисел в каждой группе были максимально близки?
  • Вопрос задан
  • 3486 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Сумму всего массива нужно разделить на кол-во групп (ср.арифметическое число в группе, к которому будем стремиться) и по-очереди набирать в группы, начиная с самой большой цифры (значения элемента) из массива. Как только сумма в группе превысит среднее арифметическое - пропустить и перейти к следующей группе и так до тех пор, пока не останется самое меньшее из всего массива, которое после 1-го цикла превышения попадает в группу с самым минимальным превышением целевой суммы.
PS: нескромный вопрос можно: а зачем такое может пригодиться?
Ответ написан
Читайте алгоритмы задачи об укладке рюкзака - у Вас получается ее разновидность с общим штрафом по нескольким рюкзакам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы