У меня есть шесть массивов, каждый из которых имеет (не обязательно уникальное) значение от одного до пятидесяти. Мне также дают ряд предметов, которые можно разделить между ними. Значение каждого элемента определяется массивом, в котором он находится. Массивы могут содержать бесконечные или нулевые элементы, но сумма элементов во всех массивах должна равняться исходному количеству данных элементов.
Я хочу найти лучшая конфигурация элементов в массивах, где сумма значений элементов в каждом отдельном массиве максимально приближена друг к другу.
Например, предположим, что у меня есть три массива со значением 10 и три массива с значение 20. Для девяти элементов один будет go в каждом из массивов '20', а два - go в каждом из массивов '10', так что сумма каждого массива равна 20, а общее число items это девять.
Я не могу добавить дробное число элементов в массив, и числа вряд ли когда-либо будут делиться идеально, как в этом примере, но всегда существует решение, в котором разница между суммами минимальна .
В настоящее время я использую грубую силу для решения этой проблемы, но производительность страдает с большим количеством элементов. Я чувствую, что есть математический ответ на эту проблему, но я даже не знаю, с чего начать.