Obliczanie wszystkich możliwych kombinacji sznurka z niespodzianką

Próbuję zezwolić użytkownikowi na wprowadzanie tekstu w polu tekstowym, a program generuje wszystkie możliwe kombinacje tego tekstu, z wyjątkiem minimum 3 znaków i maksymalnie 6 znaków. Nie potrzebuję niepotrzebnych słów, takich jak „jak”, „a”, „i”, „do” itp. zaśmiecają moją tablicę. Sprawdzę również każdą kombinację ze słownikiem, aby upewnić się, że jest to prawdziwe słowo.

Mam kompletny słownik (starannie wygenerowany,oto link do niego w zamian (UWAGA: gigantyczny czas ładowania (dla mnie)!)

W każdym razie, jeśli użytkownik wprowadzi „ABCDEF” (bez określonej kolejności), jak mogę wygenerować, na przykład:

'ABC'
'BAC'
'CAB'
...
'ABD'
'ABE'
'ABF'

itd ... KAŻDA możliwa kombinacja, bez względu na kolejność? Rozumiem, że liczba tych kombinacji jest śmieszna, ale trzeba ją tylko raz obliczyć, więc nie przejmuję się tym zbytnio.

Znalazłem próbki kodu, aby rekurencyjnie znaleźć kombinacje (nie permutacje, których nie potrzebuję) tylko łańcucha o stałej szerokości (ABCDEF, ABCDFE ... ACDBFE, itp.). Nie robią tego, czego potrzebuję, i nie mam najmniejszego pojęcia, gdzie nawet zacząć ten projekt.

To nie jest praca domowa, to zaczęło się od mojego osobistego projektu, który wzrósł do przejęcia mojego życia nad tak prostym problemem ... Nie mogę uwierzyć, że nie mogę tego zrozumieć!

questionAnswers(4)

yourAnswerToTheQuestion