Finden Sie alle Kombinationen aus einer Liste von zahlen mit einer gegebenen Summe

Habe ich eine Liste von zahlen, z.B.

numbers = [1, 2, 3, 7, 7, 9, 10]

Wie Sie sehen können, zahlen können mehr als einmal erscheinen in dieser Liste.

Ich brauchen, um alle Kombinationen dieser zahlen, dass eine bestimmte Summe, z.B. 10.

Elemente in den Kombinationen dürfen nicht wiederholt werden, aber jedes Element in numbers behandelt werden muss, eindeutig, das bedeutet, dass z.B. die beiden 7 in der Liste repräsentieren verschiedene Elemente mit dem gleichen Wert.

Die Reihenfolge ist unwichtig, so dass [1, 9] und [9, 1] sind die gleiche Kombination.

Gibt es keine Längenbeschränkungen für die Kombinationen, [10] ist genauso gültig, wie [1, 2, 7].

Wie kann ich erstellen Sie eine Liste mit allen Kombinationen, die die genannten Kriterien erfüllen?

In diesem Beispiel wäre es [[1,2,7], [1,2,7], [1,9], [3,7], [3,7], [10]]

InformationsquelleAutor Byte Commander | 2015-12-29

Schreibe einen Kommentar