所以我需要得到一个字符串的所有可能的排列。
我现在拥有的是这样的:
def uniq_permutations string
string.split(//).permutation.map(&:join).uniq
end
好的,现在我的问题是什么:这种方法适用于小字符串,但我希望能够将它与大小为 15 甚至 20 的字符串一起使用。使用这种方法,它使用大量内存(> 1gb ) 我的问题是我可以改变什么不使用那么多内存?
有没有更好的方法来产生排列?我是否应该将它们保存在文件系统中并在需要时检索它们(我希望不会因为这可能会使我的方法变慢)?
我能做些什么?
更新:
我实际上不需要将结果保存在任何地方,我只需要在表中查找每个结果以查看它是否存在。