我需要随机(以相同的概率)从文件中的数组中选择一些固定数量的元素。我想读取文件一次,只是保留拾取的元素,因为一个数组可能很长,我不想把它保存在内存中。每个子阵列的选择概率应该相等。而且在开始时我不知道数组的大小。
我该怎么做?
答案 0 :(得分:1)
答案 1 :(得分:0)
如果你不关心你正在拾取的元素的确切数量,一个简单的解决方案就是读取文件并以固定的概率选择每个元素。
如果你想要一个确切的数字,你需要在读取整个文件之前知道这个文件中有多少个元素,计算你想要的元素列表(作为整数列表),然后读取文件并选择正确的元素。