在數(shù)組中的兩個數(shù)字钠糊,如果前面一個數(shù)字大于后面的數(shù)字挟秤,則這兩個數(shù)字組成一個逆序?qū)Α]斎胍粋€數(shù)組抄伍,求出這個數(shù)組中的逆序?qū)Φ目倲?shù)艘刚。
代碼:
解題思路:如果按照一般的做法,利用兩個for循環(huán)逝慧,那么時間復(fù)雜度就是O(n*n);利用歸并排序的思想時間復(fù)雜度是O(nlogn)昔脯。兩個指針分別指向前半部分的尾部 啄糙,和后半部分的尾部笛臣,進(jìn)行比較,如果前半部分尾部的數(shù)字大于后半部分尾部的數(shù)字前半部分尾部的數(shù)字一定比后半部分的都大隧饼,那么逆序列數(shù)字累加后半部分?jǐn)?shù)字個數(shù)沈堡,在講前半部分尾部的數(shù)字copy到拷貝數(shù)組中,防止重復(fù)比較燕雁,在比較后將copy數(shù)組復(fù)制到data诞丽。