找到第n个排列而不计算其他排列
给定表示置换原子的N个元素的数组,是否有类似的算法:
function getNthPermutation( $atoms, $permutation_index, $size )
其中$atoms
是元素数组,$permutation_index
是置换的索引,是置换$size
的大小。
例如:
$atoms = array( 'A', 'B', 'C' );// getting third permutation of 2 elements$perm = getNthPermutation( $atoms, 3, 2 );echo implode( ', ', $perm )."\n";
会打印:
B, A
没有计算每个排列直到$ permutation_index?
我听说过关于事实排列的一些事情,但我发现的每一个实现都会给出一个具有相同V大小的排列,这不是我的情况。
翻翻过去那场雪