Задать вопрос
@FlashHaos

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

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

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

Похожие вопросы