0

我正在尝试提出一种算法,您可以在其中按顺序从一组中生成组合,以使它们的总和按递增顺序排列。该集合必须是多集合,即允许重复。

例如你有一个集合 S = {1,2,2,3,4,5,5}

因此,我不想根据项目数量生成所有组合(比如从 1 个和 2 个项目开始,最后是全部 7 个),我想按以下顺序计算它们:

{1}、{2}、{2}、{1,2}、{1,2}、{3}、{1,3}、{2,2}、{4}...... .......{1,2,2,3,4,5,5}

为什么这个顺序:我们可以看到这些子集的总和:

{1}、{2}、{2}、{3}、{3}、{3}、{4}、{4}、{4}.......{ 22}

你知道任何可以有效地做到这一点的算法吗???

4

0 回答 0