描述:
實現**:
package question36;
public class inversepairs
private static int mergesort(int array, int low, int high)
return count;
} private static void merge(int array, int low, int mid, int high) else
}while (i>=low)
while (j>=mid+1)
for (int m = 0; m < temp.length; m++)
}public static void main(string args) ;
int res=inversepairs(array);
system.out.println(res);
system.out.println("善哉!善哉!大地眾生皆具如來智慧型德相,但因妄想執著而不能證得,只要恢復了自己本有的清淨自性,一切眾生皆可成佛!");
}}
測試結果:
36 陣列中逆序對的個數
題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p.思路 本質是歸併排序,在比較時加入全域性變數 count 進行記錄逆序對的個數,若 data start data index 則 count 值為 mid 1 s...
面試題36 陣列中的逆序對
題目 在陣列中的兩個數字如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。例如,有乙個陣列為array 0.n 其中有元素a i a j 如果 當ia j 那麼我們就稱 a i a j 為乙個逆序對。在陣列中一共存在5對逆序對,分別是 7,6 7...
面試題36 陣列中的逆序對
1.在陣列中的兩個數字如果前面的乙個數字大於後面的數字,則這兩個數字組成乙個逆序對,輸入乙個陣列,求這個陣列中的逆序對的總數。分析 例如在陣列中,一共存在5個逆序對,常規的做法是每次確定乙個數字在陣列中後面有多少個數比他小,這樣的時間複雜度是o n n 比較大,可以先將大的陣列分為小的陣列,再統計逆...