我有一個巨大的集合(S)長的無符號整數.txt文件。我怎樣才能找到最大的子集S的(P最高)具有以下屬性:找到一大組整數的最大子集
P{X1,X2,X3,...,Xn) | X1>=(Xn/4)
更多細節:
- 當我說最大的子集我指的是元素的最大數(n子集 - >最大)。
- 由於內存有限,無法將.txt加載到數組中。
- 我的系統內存200MB是
- txt文件有10^6的整數。每個整數可以是長整型無符號32位。
- 我需要找到S的最大子集與所述條件:
X1 X2 < X3 < ... < < XN-1 < XN如X1> =(XN/4)
例如,如果txt文件有以下: 15,14,13,4,2,2,3,10,1,2,2 然後這些都是可能的子集:
P1(4,10 ,13,14,15)
點P2(3,4,10)
P3(1,2,2,2,2,3,4)
所以P最高(1,2,2,2,2,3,4 ),因爲它有更多的元素。
其實我並不想準確地找到這是P最高。我只想找到子集Pmax的元素數量。所以這裏是7.
該算法應該非常快。
我不想找人做我的工作。我只是需要一個相應的問題,所以我可以尋找有效的解決方案。提前致謝!!!
你_memory_是200MB?或者你的文件?另外,「P」是什麼?而'''你的意思是「這樣的」? – Shahbaz
另外,在本網站中,我們試圖幫助您,而不是您的工作。你至少需要表現出一些努力。你已經嘗試了什麼?通過在谷歌上搜索發現了什麼,爲什麼你沒有找到足夠用於你的目的? – Shahbaz
我可能會誤解你寫下這個條件的方式,但是你是不是要寫出子集中的所有數字都大於X1?您現在編寫它的方式最大的子集幾乎是按照定義的整個文件。 –