我知道涉及这个主题的几个问题(例如这里),但没有一个(至少从我发现的)做我需要的。
假设我有一个包含 3 个元素的数组[1, 2, 3]
。我需要找到所有可能的独特组合(因此不包括排列,如这里),包括重复元素的组合。所以结果应该是:
[1]
[2]
[3]
[1, 1]
[1, 2]
[1, 3]
[2, 2]
[2, 3]
[3, 3]
[1, 1, 1]
[1, 1, 2]
[1, 1, 3]
[1, 2, 2]
[1, 2, 3]
[1, 3, 3]
[2, 2, 2]
[2, 2, 3]
[2, 3, 3]
[3, 3, 3]
排除与[3, 2, 1]
或[2, 1, 3]
相同的子集[1, 2, 3]
。
我怎样才能做到这一点?