如何高效生成输入向量元素在固定长度输出向量中的合规组合?
高效生成符合规则的向量组合方案
问题背景
给定输入向量:
['a','b','c']
需要列出所有符合规则的输出向量组合。
限制条件
- 元素需插入至长度为6的输出向量中
- 输入向量中的每个值在输出向量中仅能出现一次
- 输出向量中元素的顺序需与输入向量一致
允许规则
- 输出向量的位置可留空
- 输入向量可包含重复值(例如
['a','b','a','c'])
部分符合要求的输出示例
[' ',' ',' ','a','b','c'], [' ',' ','a',' ','b','c'], [' ','a',' ',' ','b','c'], ['a',' ',' ',' ','b','c'], [' ',' ','a','b',' ','c'], [' ','a','b',' ',' ','c'], ['a','b',' ',' ',' ','c'], [' ','a',' ','b',' ','c'], ['a',' ','b',' ',' ','c'], ['a',' ',' ','b',' ','c'], [' ',' ','a','b','c',' '], [' ','a','b','c',' ',' '], ['a','b','c',' ',' ',' '], [' ','a',' ','b','c',' '], ['a',' ','b','c',' ',' '], ['a',' ','b',' ','c',' ']
需求说明
初始思路为暴力生成约6!个包含空值的随机组合后过滤,但效率极低。现需高效实现方案,且支持处理不同大小的输入向量与输出向量。
内容的提问来源于stack exchange,提问作者petyar
相关产品推荐
相关产品推荐

