我正在寻找一种有效的方法来实现这一目标:
您有一个数字列表 1.....n(通常:1..5 或 1..7 左右 - 相当小,但可能因情况而异)
您需要这些数字的所有长度的所有组合,例如,只有一个数字的所有组合({1},{2},... {n}),然后是两个不同数字的所有组合({1,2}, {1,3}, {1,4} ..... {n-1, n} ),然后是其中三个数字的所有组合 ({1,2,3}, {1,2,4})等等
基本上,在组内,顺序是无关紧要的,所以 {1,2,3} 相当于 {1,3,2} - 这只是从该列表中获取所有 x 组的问题
似乎应该有一个简单的算法来解决这个问题 - 但到目前为止我已经徒劳无功了。大多数组合学和置换算法似乎 a) 考虑了顺序(例如 123 不等于 132),并且它们似乎总是对单个字符串或数字进行操作......
任何人都有一个很棒的,nice'n'quick 算法?
谢谢!