如何生成字符串的排列,但没有重复和不同的长度?

问题描述 投票:-3回答:1

我正在寻找一个PHP算法或只是伪代码来获取字符串的所有排列,但不重复字符和生成的字符串的长度可以从1变化到输入的最大长度。例:

输入:1 2 3

可能的组合:

1

1 2 /(与2 1相同,因此不得计算)

1 3

1 2 3

2

2 3

3

php combinations permutation
1个回答
0
投票

干得好 :

function pc_array_power_set($array) {
    // initialize by adding the empty set
    $results = array(array());

    foreach ($array as $element)
        foreach ($results as $combination)
            array_push($results, array_merge(array($element), $combination));

   return $results;

}

From PHP Cookbook

© www.soinside.com 2019 - 2024. All rights reserved.