19.Reverse Pairs

class Solution {
public:
    int reversePairs(vector<int>& nums) {
        return mergeSort(nums, 0, nums.size() - 1);
    }
    
    int mergeSort(vector<int>& nums, int start, int end) {
        if (start >= end) {
            return 0;
        }
        int mid = (start + end) / 2;
        int lc = mergeSort(nums, start, mid);
        int rc = mergeSort(nums, mid + 1, end);
        int cnt = count(nums, start, mid, end);
        return lc + rc + cnt;
    } 
    
    int count(vector<int>& nums, int start, int mid, int end) {
        int l = start, r = mid + 1;
        int count = 0;
        while(l <= mid && r <= end){
            if((long)nums[l] > (long)2 * nums[r]){
                count += (mid - l + 1);
                r++;
            }else{
                l++;
            }
        }
        sort(nums.begin() + start, nums.begin() + end + 1);
        return count;
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 2017年8月19日,如是家人張婷,種種子第19天 發(fā)心:我今不僅是為了我個(gè)人而聞思修,更是為了六道輪回一切如母有...
    井田婷婷閱讀 340評(píng)論 2 2
  • 和鄭先生在外面吃晚餐,真是咸死人。 學(xué)生家長(zhǎng)來(lái)家里,絮絮叨叨一兩個(gè)小時(shí)。
    簡(jiǎn)寧思靜閱讀 82評(píng)論 0 0
  • <<<初雪目錄在此,請(qǐng)戳這里!<<<薔薇小說(shuō)文集在此,請(qǐng)戳!<<<古風(fēng)小說(shuō)《青梅花時(shí)開(kāi)》目錄 上一章回顧 文丨薔薇...
    薔薇下的陽(yáng)光閱讀 1,269評(píng)論 8 5
  • 那年杏花微雨,你說(shuō)你是果郡王,或許從一開(kāi)始,便都是錯(cuò)的。——《甄嬛傳》 我所認(rèn)為最深沉的愛(ài),莫過(guò)于分開(kāi)以后,我將自...
    琉璃月玻璃心閱讀 453評(píng)論 0 3
  • 當(dāng)反復(fù)拋1萬(wàn)次硬幣的時(shí)候,出現(xiàn)正面和出現(xiàn)反面的概率就會(huì)接近1:1 “最近真是倒霉?!鼻缶指彝虏圩罱那舐毥?jīng)歷。...
    文學(xué)社社長(zhǎng)閱讀 566評(píng)論 0 0

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