Mehrfache Wortbildung: Suche nach allen möglichen Zeichenpermutationen

JavaScript Hard sets

Aufgabe «Mehrfache Wortbildung: Suche nach allen möglichen Zeichenpermutationen»

Gegeben ist eine Zeichenkette, die aus Kleinbuchstaben des lateinischen Alphabets besteht. Es müssen alle eindeutigen Permutationen der Zeichen dieser Zeichenkette gefunden und ausgegeben werden (ohne Wiederholungen, wenn die Zeichenkette gleiche Buchstaben enthält). Das Ergebnis soll in lexikografischer Reihenfolge sortiert sein. Verwenden Sie Mengen (Set), um bereits hinzugefügte Permutationen zu verfolgen und Duplikate zu vermeiden. Einschränkung: Die Länge der Zeichenkette beträgt ≤ 10 Zeichen.

Eingabeformat

Eine einzelne Zeile, die Kleinbuchstaben des lateinischen Alphabets (a-z) enthält.

Ausgabeformat

Jede eindeutige Permutation in einer neuen Zeile, in lexikografischer Reihenfolge. Wenn es keine Permutationen gibt (leere Zeichenkette), geben Sie "none" aus.

Beispiele

Beispiel 1

EINGABE
aab
AUSGABE
aab aba baa

Beispiel 2

EINGABE
3 3 apple 1 banana 2 cherry
AUSGABE
3

Beispiel 3

EINGABE
abc
AUSGABE
abc acb bac bca cab cba

Beispiel 4

EINGABE
2 5 cat 5 dog
AUSGABE
2

Beispiel 5

EINGABE
aa
AUSGABE
aa
main.js