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

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

Коллеги, подскажите алгоритм, которым можно разбить массив чисел на n групп так, чтобы суммы чисел в каждой группе были максимально близки?
  • Вопрос задан
  • 4115 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля + нейросети
    9 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Сумму всего массива нужно разделить на кол-во групп (ср.арифметическое число в группе, к которому будем стремиться) и по-очереди набирать в группы, начиная с самой большой цифры (значения элемента) из массива. Как только сумма в группе превысит среднее арифметическое - пропустить и перейти к следующей группе и так до тех пор, пока не останется самое меньшее из всего массива, которое после 1-го цикла превышения попадает в группу с самым минимальным превышением целевой суммы.
PS: нескромный вопрос можно: а зачем такое может пригодиться?
Ответ написан
Читайте алгоритмы задачи об укладке рюкзака - у Вас получается ее разновидность с общим штрафом по нескольким рюкзакам.
Ответ написан
Ваш ответ на вопрос

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

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