Ho bisogno di un algoritmo che restituisca tutte le combinazioni possibili di tutti i caratteri in una stringa.Come generare tutte le permutazioni di una stringa in PHP?
ho provato:
$langd = strlen($input);
for($i = 0;$i < $langd; $i++){
$tempStrang = NULL;
$tempStrang .= substr($input, $i, 1);
for($j = $i+1, $k=0; $k < $langd; $k++, $j++){
if($j > $langd) $j = 0;
$tempStrang .= substr($input, $j, 1);
}
$myarray[] = $tempStrang;
}
Ma che restituisce solo la stessa combinazione quantità come la lunghezza della stringa.
Dire il $input = "hey"
, il risultato sarebbe: hey, hye, eyh, ehy, yhe, yeh
.
quello che vuoi siete chiamati "permutazioni", non "combinazioni". – Thomas
@Thomas Non credo che Johan intendesse * combinazione * in senso matematico. Ma sì, hai ragione. – Felix
Considerate anche che otterrete risultati 'n!'. Per una stringa di input di lunghezza 12 (senza caratteri duplicati), si tratta di circa 480 milioni di risultati, che richiedono circa 5 GB di memoria. –