Für was es wert ist, schrieb ich Methoden in Java, die tun, was Sie wollen, und ich verstehe C# ist ähnlich genug, dass Sie wahrscheinlich lesen können der Code ohne viel Ärger. (Die Syntax, das heißt. Wenn Sie nicht mit rekursiven Funktionen vertraut sind, dann könnte das Ihnen Probleme bereiten.) Mein Benutzername ist @undefined über auf diesem forum thread. Um den Code zu verwenden, könnten Sie k-Werte von 1 bis zur Länge Ihrer Zeichenkette einschleifen. Alternativ könnten Sie alle Untermengen erzeugen (die leere Menge verwerfen), wie in this thread beschrieben, und dann die Permutationen von dort abrufen. Eine andere Möglichkeit besteht darin, eine k-te-Permutationsfunktion zu schreiben und diese zu verwenden. Ich habe keine online gestellt; Die eine, die ich benutze, ist ein bisschen unordentlich und ich sollte es irgendwann neu schreiben.
Bearbeiten: Erwähnenswert, dass ich die Methoden in einer Weise geschrieben, die einfach schien, aber effizienter wäre, einen Stapel zu verwenden, auf diese Weise müssen Sie Tonnen von neuen Objekten nicht erstellen.
Das klingt viel wie eine Hausaufgabe Frage. Könnten Sie Ihren Beitrag mit dem Code, den Sie bisher versucht haben, aktualisieren und uns sagen, wo Sie stecken bleiben? –
Also nehme ich an, dass Sie nicht überprüfen, ob es ein tatsächliches Wort ist, nur jede mögliche Co-Ambinierung von Buchstaben erzeugen? –