php 全排列

Posted zhangxuedonga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 全排列相关的知识,希望对你有一定的参考价值。

class a
{
public $fullPermutationArr = array();
public function fullPermutation($arr, $str = ‘‘)
{
    $cnt = count($arr);
    if ($cnt == 1) {
        array_push($this->fullPermutationArr, $str ? $str . ‘,‘ . $arr[0] : $arr[0]);
    } else {
        for ($i = 0; $i < $cnt; $i++) {
            $tmp = $arr[0];
            $arr[0] = $arr[$i];
            $arr[$i] = $tmp;
            $this->fullPermutation(array_slice($arr, 1), $str ? $str . ‘,‘ . $arr[0] : $arr[0]);
        }
    }
}
public function unique($result)
{
return array_merge(array_unique($result));
}
}
// 调用
$a = new a;
$a->fullPermutation([1, 2,2]);
$result = $a->fullPermutationArr;
var_dump($a->unique($result));

以上是关于php 全排列的主要内容,如果未能解决你的问题,请参考以下文章

PHP字符串全排列算法

php 全排列

全排列

[PHP] 算法-字符串的全排列的PHP实现

题目1120:全排列(回溯法)

哈密顿绕行世界问题---hdu2181(全排列问题)