我有一个清单,上面有两个数字的某些组合:
[1 2] [1 4] [1 6] [3 4] [5 6] [3 6] [2 3] [4 5] [2 5]
现在我想将三个组合组成一组,每组包含所有六位数字,例如:
[1 2] [3 6] [4 5] is valid
[1 4] [2 3] [5 6] is valid
[1 2] [2 3] [5 6] is invalid
秩序并不重要。
我怎样才能得到所有可能的组的列表,而不使用强制算法?
它所用的语言并不重要。描述一个可以实现这一点的算法就足够了。
最佳答案
需要注意的是,您只能从集合{1,2,3,4,5,6}中选择有限多个可能的元素对。具体来说,如果你考虑顺序相关的话,有(6p2)=30个,如果你不考虑顺序相关的话,有(6选择2)=15个。在这种情况下,即使是简单的“尝试所有三元组”算法,也只需要看最多(30选择3)=4060个三元组,这是一个很小的数字。我怀疑你这样做在实践中会有什么问题。