64. 合併排序陣列
阿新 • • 發佈:2020-08-09
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