Lintcode197 Permutation Index solution 题解

2018-06-17 21:16:37来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

【题目描述】

 

 

Given a permutation which contains no repeated number, find its index in all the permutations of these numbers, which are ordered in lexicographical order. The index begins at 1.

给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。

【题目链接】

www.lintcode.com/en/problem/permutation-index/

【题目解析】

由于本题不需要计算出所有排列,则可用排列组合的原理直接解出答案。举个例子, [2,3,1,4]共有4!种排列方法,答案要求是从[1,2,3,4]按字典排序至[2,3,1,4]有多少种排法。在每确定一位的情况下剩余的所有排法为(n-i)!,即在第1位2确定的情况下有3!种排法,在前两位都确定的情况下有2!种排法…

由于字典排序是从小到大排列的,所以只需计算出第i位(从1开始)在它后面比它小的数的个数m,再用m*(n-i)!,遍历计算即可。

【参考答案】

www.jiuzhang.com/solutions/permutation-index/



作者:程风破浪会有时
链接:https://www.jianshu.com/p/582187cae8ab
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:1.C和C++区别,以及const分析

下一篇:学习OpenCV--如何在Visual Studio中使用OpenCV