51 陣列中的逆序對 python

2021-10-04 23:45:34 字數 483 閱讀 8078

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

def inverse_pairs(arrys):

if len(arrys)<2:

return 0

res = 0

length = len(arrys)

arrys_sort =sorted(arrys)

for arr in arrys_sort:

res += arrys.index(arr)

arrys.remove(arr)

return res

注:官方給的方法是利用歸併排序,時間複雜度為o(nlgn)。本文給出自己的方法,時間複雜度為o(n2),有待改進,但是實現很簡潔。先對陣列排序,利用內建的排序函式。然後依次遍歷排序後的陣列,並依次找到該數字在原陣列中的索引,索引差值即為與該數組成逆序對的個數。

51 陣列中的逆序對

面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 在歸併排序中進行處理 class solution private voi...

51題陣列中的逆序對

題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 思路 使用了歸併排序的思想 class solution else if m start...

ATO 51 陣列中的逆序對

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