首先:我不是程序員,從來沒有學過編程/算法。 其實我必須編程,主要是awk,或紅寶石,一些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腳本,但是python和perl都可以接受(不需要大量使用外部庫,因爲我沒有權限安裝它們)。
在此先感謝。
看起來像我需要的。 – 2009-02-06 14:48:46