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...