劍指offer 歸併排序

2021-08-01 21:47:42 字數 589 閱讀 2677

package sai.xiaomi;

/** * 2) 歸併排序

* * @author wangsai

* */

public class solution

/*** 2,歸併排序,在原陣列的基礎上對原陣列進行排序

* * @param arr,待排序陣列

*/private static void mergesort(int arr)

private static void mergesortcore(int arr, int low, int high)

private static void merge(int arr, int low, int middle, int high) else

} // 將剩餘的數字拼接到陣列後面

while (startl <= middle)

// 將剩餘的數字拼接到陣列後面

while (startr <= high)

// 修改原陣列

for (int i = low; i <= high; i++)

} }

劍指offer35 歸併排序求逆序對

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 10 4 對於 75的...

合併排序鍊錶(劍指offer)

合併排序鍊錶 劍指offer struct listnode listnode mergelist listnode pheadlist1,listnode pheadlist2 判斷指標是否為空 if pheadlist2 null listnode pmergelisthead null 合併後...

劍指offer 合併排序鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。比較節點大小,小的一方放到新建鍊錶後,將其向後移動。注意判空以及後續處理。遞迴 public listnode merge listnode list1,listnode list2 if list2 nul...