В первую очередь: я не программист, никогда не изучал программирование/алгоритмы. На самом деле мне нужно программировать, в основном в awk или ruby, некоторые bash.Найти подмножество итогов для огромного набора данных
В сегодняшней задаче у меня есть огромный набор данных (числа с плавающей точкой) в текстовом файле, одна запись/строка и сумма всех номеров набора, но сумма неверна, поскольку некоторые из чисел (может быть только один) в наборе отрицателен, но мы не можем видеть его в файле (нет признака, если элемент отрицательный).
Но я должен найти его/их: поэтому сначала я рассчитал правильную общую сумму (с добавлением всех чисел с awk
) не заботился о своих знаках. Теперь я теперь разницу между первоначальной суммой (которая заботилась о знаках) и моей новой общей суммой. Но я должен найти все подмножества набора данных, который имеет ту же сумму, что и разность/2.
.: например
DATA:
1,2,3,4,5
ORIG SUM:
5
Теперь мы можем вычислить разницу между 1 + 2 + 3 + 4 + 5 - Orig SUM: 15-5 = 10. 10/2 = 5, поэтому мне нужно найти все подмножества, которые могут содержать до 5, то есть [1,4], [2,3], [5].
Есть ли правильный способ сделать это? Я предпочитаю awk, ruby, shell scripting, но оба python и perl приемлемы (без использования внешних библиотек, поскольку я не имею права устанавливать их).
Заранее спасибо.
Похоже, мне это нужно. –