生成独特的文本组合

时间:2013-07-30 12:29:03

标签: text unique combinations

我正在构建来自不同部分的文本字符串。 A组+ B组+ C组+ D组D. 文本按照这个确切的顺序放在一起。每个句子都是独一无二的。

我从每组中随机抽取一个句子并将它们组合在一起,因此唯一文本的总组合将是A * B * C * D,其中A,B,C,D是各自组中的句子数。 / p>

我的问题是我如何跟踪我不会以这种方式生成重复项以及何时知道我已经用完了所有可能的组合?

在某处存储所有可能的组合似乎是相当低效的方法。那么我有什么选择呢?

1 个答案:

答案 0 :(得分:0)

当从每个组中提取随机文本字符串时,只需将句子中句子的起始位置与长度一起存储到容器(如字典或HashSet)中。这将成为容器的关键。如果每个组中的句子数足够小,您可以将数据打包为单个整数或长值,否则为其定义结构或类。代码应该在容器中查看是否已经使用了生成的随机组合。如果已经使用,则循环直到找到唯一的一个。如果组合的总数足够小,以便用户可以全部通过它们,那么预先计算总计数并检查容器是否达到该计数,在这种情况下应该执行某种退出处理。