排列序号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排列序号相关的知识,希望对你有一定的参考价值。

代码:

public class Solution { 

        /**

         * @param A an integer array

         * @return a long integer

         */ 

        public long permutationIndex(int[] A) { 

            // Write your code here 

            long R=0; 

            int low[] = new int[A.length]; 

            long weight[] = new long[A.length]; 

            for(int i=A.length-1;i>=0;--i){ 

                for(int j=i+1;j<A.length;++j) 

                    if(A[j]<A[i]) 

                        ++low[i]; 

                weight[i] = (i>=A.length-2)?(A.length-1-i):weight[i+1]*(A.length-i-1); 

                 

                R += weight[i]*low[i]; 

            } 

            return R+1; 

        } 

    }  

lintcode截图:

技术分享

 

以上是关于排列序号的主要内容,如果未能解决你的问题,请参考以下文章

如何自动排列序号?

mysql mysql 获取排列序号

排列序号

排列序号

排列序号

浅谈康托展开和其逆运算