題目描述:
輸入乙個陣列,求出其中逆序對的總個數
示例:
輸入: ,逆序對有,,,,幾種情況
因此輸出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的意思是按照歸併排序的方法做的,順便複習一下歸併排序 看到這個題只要能想到用歸併排序的方法做就已經成功了一半了,其次就是一些細節問題。寫 你又思路,又會將思路用 寫出來才可以。只有思路不會寫 也不行。寫 的...