我有一个巨大的集合(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?您现在编写它的方式最大的子集几乎是按照定义的整个文件。 –