劍指offer系列 陣列中逆序對

2021-07-11 02:52:33 字數 753 閱讀 2766

題目描述:

輸入乙個陣列,求出其中逆序對的總個數

示例:

輸入: ,逆序對有,,,,幾種情況

因此輸出5  

分析:

利用歸併排序的思想進行排序,時間複雜度o(nlgn)

**:

int inversepairscore(vector

& nums,vector

& copy,int begin,int end)

int mid=begin+(end-begin)/2;

int left=inversepairscore(copy,nums,begin,mid);

int right=inversepairscore(copy,nums,mid+1,end);

int i=mid,j=end;

int index=end;

int count=0;

while(i>=begin&&j>mid)else

}while(i>=begin) copy[index--]=nums[i--];

while(j>mid) copy[index--]=nums[j--];

return left+right+count;

}int inversepairs(vector

& nums)

劍指offer系列 陣列中的逆序對

最近一直在家刷面經,因為疫情也出不去。所以沒事就會在知乎回答別人提出的問題,還有就是刷題。最近leetcode授權了劍指offer的題,然後就當作我是複習吧。目前還在刷,今晚吃飽刷到這道歸併排序的高階題目 陣列中的逆序對,所以寫一篇關於它的題解吧。在陣列中的兩個數字,如果前面乙個數字大於後面的數字,...

劍指Offer系列51 陣列中的逆序對

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 python 思路 利用陣列部分有序,採用歸併排序思想 輔助度 o nlogn class solut...

劍指offer系列28 陣列中的逆序對

這個題我拿到沒什麼好的思路,除了乙個個求的方法之外想不出效率更高的方法。這個題看劍指offer的意思是按照歸併排序的方法做的,順便複習一下歸併排序 看到這個題只要能想到用歸併排序的方法做就已經成功了一半了,其次就是一些細節問題。寫 你又思路,又會將思路用 寫出來才可以。只有思路不會寫 也不行。寫 的...