陣列中的逆序對(第35題)

2021-09-27 02:19:22 字數 948 閱讀 4250

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。 即輸出p%1000000007

題目保證輸入的陣列中沒有的相同的數字

資料範圍:

對於%50的資料,size<=10^4

對於%75的資料,size<=10^5

對於%100的資料,size<=2*10^5

示例1

1,2,3,4,5,6,7,0
7
ac:75% 原因:超時

思路:歸併排序,時間複雜度o(nlogn)已經是最簡了,反正我是找不出更簡單的演算法了。

public class a35陣列中的逆序對 

merge(array, 0, array.length - 1);

return count;

}//歸併排序

public void merge(int array,int left, int right)

break;}}

}int temp = new int[size];//暫存排好序的合併陣列

for(int i = 0; i < size; i++) else

} else if(rightpoint <= right) else if(leftpoint <= left + childsize - 1)

}//排好序的陣列替代原陣列中未排序的陣列

for(int i = 0; i < size; i++)

} }public static void main(string args) ;

int array = ;

system.out.println(test.inversepairs(array));

}}

第35題「陣列中的逆序對」

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 10 4 對於 75的...

劍指offer第35題 陣列中的逆序對

題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 輸入描述 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 1...

35 陣列中的逆序對

題目 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 輸入描述 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 10 ...