public class CountPos { public int countPos(int []array){ int length=array.length; int sum=0; for(int i=0;i<length;++i){ int count=array[i]-1; if(count!=0){ for(int j=0;j<i;++j){ if(array[j]<array[i]){ --count; } } sum+=count*mult(length-i-1); } } return sum+1; } public int mult(int n){ int back=1; for(int i=1;i<=n;++i){ back*=i; } return back; } public static void main(String args[]){ int values[]={3,2,1}; CountPos test=new CountPos(); System.out.print(test.countPos(values)); } } 格式乱了.....参考百度百科:http://baike.baidu.com/view/437641.htm?fr=ala0_1