Я думаю, что вам нужно лучше определить свою проблему, потому что, как это указано в настоящее время, нет четкого ответа.
Вот почему. Возьми этот набор чисел:
{ -9, -5, -1, 6, 7, 10 }
Существует 64 возможных подмножества - включая пустой набор - и из этих трех нулевые суммы:
{ -9, -1, 10 }, { -5, -1, 6 } & { }
Существует два возможных "самых больших" подмножества с нулевой суммой.
Если вы удалите один из них, вы получите одно из:
{ -5, 6, 7 } or { -9, 7, 10 }
Ни одна из этих сумм к нулю, но нет правила, чтобы определить, какое подмножество выбрать.
Вы можете решить удалить «объединенный» набор подмножеств с нулевой суммой. Это оставит вас с:
{ 7 }
Но имеет ли это смысл в вашем бухгалтерском пакете?
Точно так же вы можете просто решить исключить только пары совпадающих положительных и отрицательных чисел, но многие транзакции будут включать тройки (т. Е. Продажа = стоимость + налог).
Я не уверен, что на ваш вопрос можно ответить, если вы не опишите ваши требования более четко.