統計陣列的逆序對

2021-07-22 11:39:31 字數 631 閱讀 3240

題目描述

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。

題目**

思路:這個最簡單的當然是直接統計了,演算法時間複雜度為n^2,氣泡排序都可以。如果想進一步減少時間複雜度的話,可以考慮用遞迴的方法,比如使用歸併排序。

下面貼**。

int merge(int a, int start, int mid, int end)  else 

}while (i <= mid)

while (j <= end)

for (int m = 0; m < aux.length; ++m)

return reverse; }

int count(int a, int start, int end)

int mid = (start + end) >> 1;

int count1 = count(a, start, mid);

int count2 = count(a, mid + 1, end);

return count1 + count2 + merge(a, start, mid, end);

}

LeetCode 統計陣列中逆序對的個數

題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對.輸入乙個陣列,求出這個陣列中 的逆序對的總數p.並將p對1000000007取模的結果輸出.即輸出p 1000000007.note 2 n 50000 example 1 input nums 9,6,8,5...

《劍指offer》 統計陣列中逆序對的個數

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 例如輸入 1,2,3,4,5,6,7,0 輸出 7 public class inversepai...

逆序對計數

逆序對計數 問題描述 對於給定的陣列a,計算其逆序對的總數。即 image.png 輸入形式 輸入包含1組測試用例。乙個測試用例佔一行,第乙個整數表示陣列的長度,後面緊跟者陣列中的各個整數元素,中間都用乙個空格分開。陣列的長度範圍 每個數字a i 的範圍為 輸出形式 輸出乙個整數,表示逆序對的個數。...