6. 合并排序数组 II

题目

合并两个排序的整数数组A和B变成一个新的数组。

样例

给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]

挑战 

你能否优化你的算法,如果其中一个数组很大而另一个数组很小?

题解

#给出的是2个排序的,就按着头一直出就好,没什么难度

 

def mergeSortedArray(self, A, B):
    # write your code here
    C = []
    i, j = 0, 0
    while i < len(A) or j < len(B):
        if i < len(A) and j < len(B):
            if A[i] < B[j]:
                C.append(A[i])
                i += 1
            else:
                C.append(B[j])
                j += 1
        elif i < len(A):
            C.append(A[i])
            i += 1
        else:
            C.append(B[j])
            j += 1
    return C

 

posted on 2018-03-20 19:55  usp10  阅读(131)  评论(0编辑  收藏  举报

导航