【发布时间】:2018-11-04 23:37:04
【问题描述】:
例如,我有两个数组(第一个数组包含名字,第二个数组包含姓氏)。我想用这样的顺序从这两个数组中生成 n 个唯一的、非重复的组合 >>> first_name + ' ' + last_name。
我不希望预先生成所有可能的组合,因为它太消耗内存了。
所以我认为算法应该做的是迭代直到不生成组合,在迭代期间,它应该为两个数组提供一些随机索引,如果这些索引已经一起使用,请尝试选择另一个随机数,直到唯一索引不生成。 但是这种方法可能会在运行时触发深度递归,因为已经给出了许多输出,新随机索引与现有索引匹配的机会在每一步都会更高。
那么你们的建议是什么,我如何以非常优化的方式从不存在/虚拟 2 数组元素组合中选择随机、唯一的 n 项
【问题讨论】:
-
请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于SO的相关主题;如果您遇到困难,请发布您的尝试minimal reproducible example,并注明输入和预期输出。
标签: javascript arrays random unique combinations