原理】X = A[0] * (n-1)! + A[1] * (n-2)! + … + A[n-1] * 0! (A[i]表示在位置i后比位置i上数小的数的个数)
【举例】在 (1, 2, 3, 4, 5) 5个数的排列组合中,计算 (3, 4, 1, 5, 2) 的康托展开值
X = 2 * 4! + 2 * 3! + 0 * 2! + 1 * 1! + 0 * 0! = 61
也就是按字典序(1,2,3,4,5)遍历第61次是(3,4,1,5,2).
原理】X = A[0] * (n-1)! + A[1] * (n-2)! + … + A[n-1] * 0! (A[i]表示在位置i后比位置i上数小的数的个数)
【举例】在 (1, 2, 3, 4, 5) 5个数的排列组合中,计算 (3, 4, 1, 5, 2) 的康托展开值
X = 2 * 4! + 2 * 3! + 0 * 2! + 1 * 1! + 0 * 0! = 61
也就是按字典序(1,2,3,4,5)遍历第61次是(3,4,1,5,2).