从前到后的排列索引
挑战 给定项目数n,在非空的已排序列表中,输出索引, 如果按字典顺序对排列进行排列,则i(n)其 “ 从前到后排列 ” 将位于所有排列的列表中。 结果可能是基于0或1的,只说哪个(即i不是n)。 从后到前的排列 ...是通过重复获取向前排序的列表(从左至右)的后(右)然后前(左),直到所有项都移至新列表,来构建项列表的结果,就像这样: Input being consumed Output being built ----------------------+---------------------- [1,2,3,4,5,6,7] | [] [1,2,3,4,5,6] | [7] [2,3,4,5,6] | [7,1] [2,3,4,5] | [7,1,6] [3,4,5] | [7,1,6,2] [3,4] | [7,1,6,2,5] [4] | [7,1,6,2,5,3] [] | [7,1,6,2,5,3,4] ----------------------+---------------------- Result: [7,1,6,2,5,3,4] 排列指数 如果n为7(如上面的从前到后的示例)7! = 5040,则(不同的)项目可能存在排列。 所有这些排列的按字典顺序排序的列表中的第一个(如果愿意,则为零)项目[1,2,3,4,5,6,7]本身就是它自己。 第二项是[1,2,3,4,5,7,6]。 …