1. 程式人生 > 實用技巧 >64. 合併排序陣列

64. 合併排序陣列

64.合併排序陣列

中文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中的元素。

輸入測試資料(每行一個引數)如何理解測試資料?
class Solution:
    """
@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