數(shù)組的逆序?qū)?/h2>

思路:歸并排序
每次把數(shù)組從中間拆分成兩部分,先統(tǒng)計拆分數(shù)組內(nèi)部的逆序?qū)?,再把這個數(shù)組排序,防止統(tǒng)計重復,最后再把拆分的數(shù)組合并,并統(tǒng)計合并過程中的逆序?qū)Α?br>

Paste_Image.png

Paste_Image.png
 public int InversePairs(int [] array) {
           if(array==null||array.length==0)
                      return 0;
           int[] copy = new int[array.length];
        for (int i = 0; i < copy.length; i++) {
            copy[i] = array[i];
        }
        int count = InversePairsHelper(array, copy, 0, array.length - 1);
        return count;
 }
 public int InversePairsHelper(int [] array,int [] copy,int start,int end) {
         if(start==end){
             copy[end]=array[end];
             return 0;
         }
         int len=(end-start)/2;//
         int left=InversePairsHelper(array,copy,start,start+len);
         int right=InversePairsHelper(array,copy,start+len+1,end);
         int i=start+len;
         int j=end;
         int indexofCopy=end;
          
         while(i>=start&&j>start+len+1){
                if(array[i]>array[j]){
                     copy[indexofCopy--]=array[i--];
                     count+=j-start-len;
                }else{
                   copy[indexofCopy--]=array[j--];
                }
         }
            for(;i>=start;i--){
                     copy[indexofCopy--]=array[i--];
            }
            for(;j>=start+len+1;j--){
                 copy[indexofCopy--]=array[i--];
            }
       return left+right+count;
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組系列文章也到尾聲了,這是數(shù)組系列的最后一篇文章,后面就是樹的內(nèi)容了,如果后面又看到了相關(guān)的題目再作補充吧,歡迎...
    zero_sr閱讀 532評論 0 2
  • 排序的基本概念 在計算機程序開發(fā)過程中,經(jīng)常需要一組數(shù)據(jù)元素(或記錄)按某個關(guān)鍵字進行排序,排序完成的序列可用于快...
    Jack921閱讀 1,566評論 1 4
  • 一. 寫在前面 要學習算法,“排序”是一個回避不了的重要話題,在分析完并查集算法和常用數(shù)據(jù)結(jié)構(gòu)之后,今天我們終于可...
    Leesper閱讀 2,639評論 0 40
  • 藝術(shù)家混合了煙,動物和自然的圖案,創(chuàng)造出雙重曝光的視覺效果,靈氣便產(chǎn)生了。 【大課美術(shù)設(shè)計有話說】: 煙霧本身就給...
    美術(shù)視覺閱讀 1,131評論 0 3
  • 本文參加#感悟三下鄉(xiāng),青春筑夢行#活動,本人承諾,文章內(nèi)容為原創(chuàng),且未在其他平臺發(fā)表過。 《老子》言:“授人以...
    小太烊啊閱讀 373評論 0 2

友情鏈接更多精彩內(nèi)容