中文english
合併兩個排序的整數陣列a和b變成乙個新的陣列。
樣例 1:
輸入:[1, 2, 3] 3 [4,5] 2
輸出:[1,2,3,4,5]
解釋:經過合併新的陣列為[1,2,3,4,5]
樣例 2:
輸入:[1,2,5] 3 [3,4] 2
輸出:[1,2,3,4,5]
解釋:經過合併新的陣列為[1,2,3,4,5]
你可以假設a具有足夠的空間(a陣列的大小大於或等於m+n)去新增b中的元素。
輸入測試資料 (每行乙個引數)如何理解測試資料?
classsolution:
""" @param: a: sorted integer array a which has m elements, but size of a is m+n
@param: m: an integer
@param: b: sorted integer array b which has n elements
@param: n: an integer
@return: nothing
"""def mergesortedarray(self, a, m, b, n):
# write your code here
#不用sort()解法
#初始化
poiona, poionb = m - 1, n - 1
index = m + n - 1
#反向每次取最大
#當兩個陣列可以相互比較最後乙個值的大小的時候
while poiona != -1 and poionb != -1
:
if (a[poiona] >b[poionb]):
a[index] =a[poiona]
poiona -= 1
else
: a[index] =b[poionb]
poionb -= 1
index -= 1
#最後剩下的直接加進來
while poiona != -1
: a[index] =a[poiona]
index -= 1
poiona -= 1
while poionb != -1
: a[index] =b[poionb]
index -= 1
poionb -= 1
return
a
64 合併排序陣列2
容易 合併排序陣列 ii 檢視執行結果 32 通過 合併兩個排序的整數陣列a和b變成乙個新的陣列。您在真實的面試中是否遇到過這個題?yes 樣例給出a 1,2,3,empty,empty b 4,5 合併之後a將變成 1,2,3,4,5 注意你可以假設a具有足夠的空間 a陣列的大小大於或等於m n ...
合併排序陣列
合併兩個排序的整數陣列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 分別使用兩個迭代器指向待排序的陣列,然後依次比較大小.直到出現有乙個...