Angenommen, ich eine sortierte Array wieWie durchlaufen Sie alle Untersammlungen der Größe K in aufsteigender Reihenfolge ihrer Summen.
int[] sarr = new int[] { 0, 1, 3, 5 };
und ich möchte durchlaufen alle Kombinationen von Größe K
in ansteigender Reihenfolge ihrer Summe haben. Zum Beispiel, wenn K=2
dann sind die Kombinationen, um
{0, 1} (sum = 1)
{1, 0} (sum = 1)
{0, 3} (sum = 3)
{3, 0} (sum = 3)
{3, 1} (sum = 4)
{1, 3} (sum = 4)
{5, 0} (sum = 5)
.
.
.
Ich möchte, dies zu tun, ohne zuerst alle Kombinationen zu bekommen, weil ich so schnell aufhören will, wie ich eine gefunden habe, die eine Bedingung Func<int[],bool> cond
erfüllt.
Gibt es einen bekannten Weg, dies zu tun?
einfach zu pingelig, da '{0, 1}' und '{1, Sie sehen beide so aus, als ob Sie eher nach Arrangements als nach Kombinationen Ausschau halten. – Andrei15193