我需要一个字符串的第n个排列,而不计算所有可能的排列(n!)。
函数应该尽可能返回(而不是存储)结果。
那样,我们就不会存储我们不需要的前n-1个排列:
$permutation = nth_permutation($string, $nth);
示例:
/*
ABC
BAC
CAB
ACB
BCA
CBA
*/
echo nth_permutation("ABC", 4); // returns "ACB"
我有超过60个字符的字符串。因此,生成所有排列(60!)都是不可能的。 而且我需要置换解决方案(而不是随机生成器解决方案),因为每次我用相同的参数调用时,函数应返回相同的结果。