合併排序的陣列 leetcode每日一題

2021-10-03 11:18:25 字數 486 閱讀 2842

這道題並不難,或許每個人都能想到直接賦值給a,然後再排序就完了。

然後我刷這道題學到了這種雙指標的做法。

1.乙個指標t1指向a的最後乙個數(3),乙個指標t2指向b的最後乙個數(6);

2.如果t1>t2,就把t1插到(t1+t2-1)的位置然後指標t1向前移動一格

反之,就把t2插到(t1+t2-1)的位置然後指標t2向前移動一格

3.直到t1或者t2有乙個指標走完了全部路程。如果是t1走完了,說明t2裡面都是最小的數了,就直接往前插就行了,如果t2先走完了,說明t1裡面都是最小的數,他們已經排好序了就不用操作了。

**如下:

class solution 

else

while(n>0) }};

合併排序的陣列

給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。編寫乙個方法,將 b 合併入 a 並排序。初始化 a 和 b 的元素數量分別為 m 和 n。class solution def merge self,a list int m int,b list int n int no...

合併排序陣列

合併兩個排序的整數陣列a和b變成乙個新的陣列。樣例給出a 1,2,3,4 b 2,4,5,6 返回 1,2,2,3,4,4,5,6 挑戰 你能否優化你的演算法,如果其中乙個陣列很大而另乙個陣列很小?class solution param a and b sorted integer array a...

合併排序陣列

題目要求 合併兩個排序好的陣列 2.1 version one 完全採用c 內建函式,不用考慮任何演算法,執行通過 vector mergesortedarray vector a,vector b 2.2 version two 分別使用兩個迭代器指向待排序的陣列,然後依次比較大小.直到出現有乙個...