这是一个面试题。假设有一个按字典顺序排列的排列列表,例如
显然,我们可以使用
123
,132
,213
,231
,312
,321
。给定一个排列,找到它在该列表中的索引。例如,排列213
的索引为2(如果我们从0开始)。显然,我们可以使用
next_permutation
算法生成按字典顺序排列的下一个排列,但这会导致O(N!)的解决方案,这显然是不可行的。是否有更好的解决方案?
2*(2!) + X where X = 0..2!-1
。请问您能否解释一下这段代码的作用呢?我不理解等号右边的内容。 - Bowen Liu