数组中的逆序对


/*
给定一个int数组A和它的大小n,对于这组数能组成的任意两个数组,
若前面一个大于后面一个数字,则这两个数字组成一个逆序对。
请设计一种高效的算法返回A中存在的逆序对个数。要求n不大于5000。
测试样例:
[1,2,3,4,5,6,7,0],8
返回:7
1 0     2 0     3 0     4 0    5 0     6 0     7 0
 */

public class AntiOrder {
    public static int count(int[] A, int n) {
        int count = 0;
        for (int i = 0; i < n-1; i++) {
            for (int j = i+1; j < n; j++) {
                if (A[i] > A[j]) {
                    count++;
                }
            }
        }
        return count;
    }

    public static void main(String[] args) {
        int[] A = {1,2,3,4,5,6,7,0};
        int n = A.length;
        System.out.println(count(A,n));
    }
}