Sto cercando di ottenere tutte le combinazioni in una stringa in C# con questa idea in mente:Trova tutte le combinazioni in una stringa separati
Data una stringa come foo
voglio ottenere un List<string>
con i valori:
Come si può vedere, non è facile come ottenere tutte le sottostringhe ma ottenere TUTTI i caratteri in una stringa separati da spazi.
Ho provato a fare qualcosa di simile:
List<string> result = new List<string>();
string text = "foo";
for (int i = 1; i < foo.Lenght; i++)
{
//I'm stucked --> everything I think is too stupid and I don't know how to procede or not fast enough. I'm really stuck.
}
EDIT: Ci sono alcune risposte corrette, ma è chiaro che nessuno di loro non va bene in quanto le corde con cui sto lavorando hanno tra i 55 ei 85 caratte ognuna in modo che la migliore funzione nelle risposte mi fornisca qualcosa tra 2^54 e 2^84 combinazioni possibili e questo è solo un po 'eccessivo.
Ora è chiaro che trovare tutte le combinazioni e poi fare qualcosa con loro non lo farà. Dovrò lasciar perdere.
Nessuna permutazione richiesta? Voglio dire "ofo' è un risultato valido o non valido? Inoltre, per quanto riguarda 'fo',' f', 'o' e duplicati (il secondo' o'), validi o non validi? –
Nessuna permutazione o sottostringa è valida. L'esempio che ho messo lì è tutto lì. –
Funzioni ricorsive. –