PHP における文字列の順列
PHP では、文字列内の文字のすべての順列を生成するには、可能なすべての組み合わせを体系的に探索するアルゴリズムが必要です.
バックトラックアプローチ
効果的なアプローチの 1 つはバックトラッキングです。 PHP 実装は次のとおりです。
function permute($str,$i,$n) { if ($i == $n) print "$str\n"; else { for ($j = $i; $j < $n; $j++) { swap($str,$i,$j); permute($str, $i+1, $n); swap($str,$i,$j); // backtrack. } } } function swap(&$str,$i,$j) { $temp = $str[$i]; $str[$i] = $str[$j]; $str[$j] = $temp; } $str = "hey"; permute($str,0,strlen($str)); // call the function.
説明
出力
実行中$str = "hey" のコードは期待どおりの出力を生成します:
hey hye ehy eyh yeh yhe
以上がPHP で文字列のすべての順列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。