题解 | #合并两个有序的数组#

#
# 
# @param A int整型一维数组 
# @param B int整型一维数组 
# @return void
#
class Solution:
    def merge(self , A, m, B, n):
        # write code here
        L3=[]
        i=0
        j=0
        print(type(A))
        #当i和j都小于边界条件时,不停的比较i和j,然后将较小的值放入到L3中
        while i<m and j<n:
            if A[i]<B[j]:
                L3.append(A[i])
                i+=1
            elif A[i]>B[j]:
                L3.append(B[j])
                j+=1

            else:
                L3.append(A[i])
                L3.append(B[j])
                i+=1
                j+=1
       #如果i==m,说明A中的元素放完了,B中有剩余元素
        if i==m:
            L3+=B[j:]
        elif j==n:
            L3+=A[i:]
       #这里不知道怎么了,不能用L3切片直接赋值给A,只能一个一个改变A中的元素
        for i in range(len(A)):
            A[i]=L3[i]
        return A


全部评论

相关推荐

02-10 21:39
Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务