Я пытаюсь найти оптимальный способ сортировки набора целых чисел по ячейкам, все из которых имеют одинаковую сумму. Для простоты мы можем вычесть среднее значение, поэтому нас интересуют только интервалы, сумма которых равна нулю.
Возьмем, к примеру,
Я знаю, что существует способ сформировать 3 группы по 15 чисел в каждой, где каждая группа добавляет ноль. Но хоть убей, не очевидно, как систематически находить это решение (таких решений может быть много, мне нужно только одно).
В этом меньшем примере мы, вероятно, могли бы просто попробуйте каждую комбинацию, но если бы в массиве был миллион чисел, разделенных на 1000 ячеек, такое исчерпание не сработало бы.
Я пытаюсь найти оптимальный способ сортировки набора целых чисел по ячейкам, все из которых имеют одинаковую сумму. Для простоты мы можем вычесть среднее значение, поэтому нас интересуют только интервалы, сумма которых равна нулю. Возьмем, к примеру, [code]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]) [/code] Я знаю, что существует способ сформировать 3 группы по 15 чисел в каждой, где каждая группа добавляет ноль. Но хоть убей, не очевидно, как систематически находить это решение (таких решений может быть много, мне нужно только одно). В этом меньшем примере мы, вероятно, могли бы просто попробуйте каждую комбинацию, но если бы в массиве был миллион чисел, разделенных на 1000 ячеек, такое исчерпание не сработало бы.