Сортировка чисел по ячейкам одинаковой суммыPython

Программы на Python
Ответить
Anonymous
 Сортировка чисел по ячейкам одинаковой суммы

Сообщение Anonymous »

Я пытаюсь найти оптимальный способ сортировки набора целых чисел по ячейкам, все из которых имеют одинаковую сумму. Для простоты мы можем вычесть среднее значение, поэтому нас интересуют только интервалы, сумма которых равна нулю.
Возьмем, к примеру,

Код: Выделить всё

X = np.array([-2368, -2143, -1903, -1903, -1888, -1648, -1528, -1318, -1213,
-1153, -1033,  -928,  -793,  -703,  -508,  -493,  -463,  -448,
-418,  -358,  -223,  -118,   -88,   137,   227,   257,   347,
347,   377,   557,   632,   632,   692,   812,   827,  1007,
1022,  1262,  1352,  1727,  1892,  2267,  2297,  2327,  2642])
Я знаю, что существует способ сформировать 3 группы по 15 чисел в каждой, где каждая группа добавляет ноль. Но хоть убей, не очевидно, как систематически находить это решение (таких решений может быть много, мне нужно только одно).
В этом меньшем примере мы, вероятно, могли бы просто попробуйте каждую комбинацию, но если бы в массиве был миллион чисел, разделенных на 1000 ячеек, такое исчерпание не сработало бы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-same-sum
Ответить

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

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

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

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

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