-1
這裏,有一個示例字符串「XjYAKpR」..如何創建所有新字符串的可能性與該字符串?PHP - 如何創建一個字符串的所有可能性
我已經試過之前
function containAllRots($s, $arr) {
$n = strlen($s);
$a = array();
for ($i = 0; $i < $n ; $i++) {
$rotated = rotate(str_split($s), $i);
$a[] = $rotated;
}
print_r($a);die();
if (array_diff($arr, $a)) {
return True;
}
else
{
return False;
}
}
我做2個功能旋轉併產生
function rotate($l, $n) {
$b = $l[$n];
$sisa = array_values(array_diff($l, array($b)));
for ($i = 0; $i < count($sisa) ; $i++) {
$random[] = generate($sisa, $b);
}
print_r($random);die();
$hasil = $l[$n] . implode("",$random);
return $hasil;
}
function generate($sisa, $b) {
$string = implode("",$sisa);
$length = count($sisa);
$size = strlen($string);
$str = '';
for($i = 0; $i < $length; $i++) {
$str .= $string[ rand(0, $size - 1) ];
}
您向我們展示的代碼不會生成字符串的所有_permutations_,請檢查數組是否包含給定字符串的所有排列。 排列必須按目標數組中的精確順序排列,否則測試將失敗。 作爲第一個選項,我會在對它們進行區分之前對這些數組進行排序。 – Eineki