刷題筆記 排序

2022-07-22 07:03:14 字數 968 閱讀 3305

1.確定分界點 mid = l + r >> 2

2.遞迴排序left、right部分

3.使用雙指標演算法歸併排序left、right部分

1.總的數量等於 left邊中逆序對的數量、right邊中逆序對的數量、left、right兩邊的元素共同組成的逆序對的數量

2.如何求算left、right兩邊的元素共同組成的逆序對的數量?

#include #include using namespace std;

typedef long long int ll;

const int n = 100010;

int a[n],tmp[n];

ll merge_sort(int *a , int l, int r)

else

while(i <= mid) tmp[k++] = a[i++];

while(j <= r) tmp[k++] = a[j++];

//在放回原陣列

for(i = l, j = 0; i <= r; i++, j++)

a[i] = tmp[j];

return res;

}int main(void)

leetcode刷題筆記324題 擺動排序 II

leetcode刷題筆記324題 擺動排序 ii 問題描述 給定乙個無序的陣列 nums,將它重新排列成 nums 0 nums 1 nums 2 nums 3 的順序。示例 1 輸入 nums 1,5,1,1,6,4 輸出 乙個可能的答案是 1,4,1,5,1,6 示例 2 輸入 nums 1,3...

刷題筆記 二 排序

1 氣泡排序 將最大值放到末尾,一直縮小範圍到第一位 2 排序演算法的穩定性是指經過排序之後,能使值相同的資料保持原順序中的相對位置不變 解析 穩定性,就是指,不亂排序,很有規矩,能按照排序的演算法執行,相異的資料排序正確,相同的資料之間的前後關係也能不會錯位3 常見的內部排序有 並非所有排序都必須...

C LeetCode刷題 排序

排序篇 題名刷題通過率難度 56合併區間 31.2 中等57 插入區間 30.4 困難75 顏色分類 48.6 中等147 對鍊錶進行插入排序 50.7 中等148 排序鍊錶 52.7 中等164 最大間距 43.0 困難179 最大數 26.7 中等242 有效的字母異位詞 c leetcode刷...